{"_id":"piano-visualizer","_rev":"32-da7043ffc5f2a8d4327412f0e75468e9","name":"piano-visualizer","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.0":{"name":"piano-visualizer","version":"1.0.0","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.0","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"223f72eb3ce0d756e013c451ab56d7869e7789c7","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.0.tgz","fileCount":48,"integrity":"sha512-Bg63PHR0B/x0IEeefhd10NUF4NXzd7p2u2KD95Jb8xmdGImNTRcyfjgALt6TNmR7Wiz21SGK5vXHPqiRiMQIQA==","signatures":[{"sig":"MEUCIQCF5efBlZvwR1dk3o3u8BF5T4ImWXNDRI8bqldBdAV3ZQIgcT/d0odbaoINFeOq5E7MYZ/cgDAQScGdVF7nfX2J7Sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73325},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f7dd1524b22628f001aa701cfb33f10ae4a2146d","scripts":{"dev":"vite --host 0.0.0.0","build":"tsc"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.0_1739503587439_0.6765772959386338","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"piano-visualizer","version":"1.0.1","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.1","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"d509ed311916fda1c7d7825c3d740aaccfea778d","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.1.tgz","fileCount":48,"integrity":"sha512-EWsy745rLxoYmUyygghXIp1AGZoNwutisHrz1x9iCvvfZnwrpurYBH8Evz3UxZ2towU0+Eud3upjUKwVYj/U8Q==","signatures":[{"sig":"MEUCIQDAzFY3EkeV86ctJY3DzOFljKcdZoTuwvjBx1dJ935qlQIgIiNph0YozHBknEPlLexqIak0LGduTCHjiPt36JEKcqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73367},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f7dd1524b22628f001aa701cfb33f10ae4a2146d","scripts":{"dev":"vite --host 0.0.0.0","build":"tsc"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.1_1739504587735_0.06845029252647383","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"piano-visualizer","version":"1.0.2","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.2","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"699d4fc159dddbcd0b19606241fff9f7b36f7e9d","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.2.tgz","fileCount":2,"integrity":"sha512-ZoKFBI6vQcENV5Dz5jL8B1rm3w3TN5480/MsvS6FeW3YxflXbi4qrtRyi7ctWeY+q4e1gL0cGYHpSJFRWWuKCA==","signatures":[{"sig":"MEQCIAZip9mTkzw0yOk0Z3i1CoE5k4c4nuQNbhOA7MzuuZmdAiAvSQSj/IpQ0wndQVzsTRJGwxwsis7Vm/n2co6lX58RHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1332471},"main":"dist/index.js","type":"module","gitHead":"53ea981cdda1c55bc7f3eb29a480e3b5573d609c","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","npm-dts":"^1.3.13","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.2_1739938618220_0.49604762226641075","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"piano-visualizer","version":"1.0.3","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.3","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"04f84ec6dbc61ac6bb028f95871cda8eba4e0c45","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.3.tgz","fileCount":19,"integrity":"sha512-hv7+wzHVc0CX/lmcSEXHW7sXUo0esyiku08I6O/CjBcNWsgDaTnRPJV0GgxUkbnw7kr9LHAqTmFwOo3GRjFvog==","signatures":[{"sig":"MEUCIEy/kPXRNNvAEY2gnvpHR1+VthJqE23ioRQ+JrqgRwWGAiEA+cQaRdhCYs38whDzqRAtQE/1Xt9MBEZNCP3iWr7Xp10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338626},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"170e56cef6e3631f9fc49d8d14598fbe65e31723","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","npm-dts":"^1.3.13","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.3_1740277658628_0.38707398554487127","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"piano-visualizer","version":"1.0.4","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.4","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"cce7e6c970171f9e611d3698041b107bc6845f66","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.4.tgz","fileCount":19,"integrity":"sha512-eOeh12Rn4eC3GZr34O5mLLuUNdRhXvRJDW/DantXQkfMVEa+M4XtKe/tKJbu8J8CnFHXu/rNl0DPbslVQoUCtg==","signatures":[{"sig":"MEQCIFszvG9QNdys5AUPeqHcGvdl0ZHjLfeJ/H3tKMFVWmU+AiAd1aND4w4nTEOH4z6ThVtDpJzCLa1RdDyeFUIJDotbsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338485},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"677b35461fb310c760eed66ab08321545caf38b7","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.4_1740334172630_0.2822449445651376","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"piano-visualizer","version":"1.0.5","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.5","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"649f085f3ba429e7e1d867214ad1508262a0590f","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.5.tgz","fileCount":19,"integrity":"sha512-BXKDmePZBsGbPfc1G5fxhqhUdgIlzSSCIFseXX3v7m0LDwgtICEjZK2Tfl8fpMo3jRB/JrW1BBbRpbvBBoTpLw==","signatures":[{"sig":"MEUCIQD7ddaY3cl5ENoeZ+SmbxdCiuHSURBClwONKOVD78BFjgIgOpGWzDtCbzzawkDp3TUMsF1486z4IIitrIt/o9LqNX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338485},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"c462ca8fa3f70cf02dfeb296501923fc6228790f","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.5_1740370865033_0.5849656208282898","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"piano-visualizer","version":"1.0.6","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.6","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"ee2a8de6f8836533f49060c5d2ff744f2d18c2b8","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.6.tgz","fileCount":19,"integrity":"sha512-Hx/qIzlWDUhUvexs/XAq/l36mLasHP0Jv5WAcTWEED96q0ckygt85z7B/V2kt1f1DfyXNozG6lBU21Ozvy7RrA==","signatures":[{"sig":"MEYCIQC6K4Su30rGAJol0iXJYm6Hkfv8JZsaheFliAr/r2OY0AIhAM3zT7A5Jrga/pqPMfuALZnz4uebEbvrttpT+oF95NFs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338485},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"f1c06e83e9ad211783af79b518f2acb94232b8fd","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.6_1740373195562_0.03737670788031733","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"piano-visualizer","version":"1.0.7","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.7","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"0023b7298af3311c823561933e5889ef1a272738","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.7.tgz","fileCount":23,"integrity":"sha512-UdGXTQN3PHFJ0SlpRloyZTuuw6zSObWn+JegWm9/TgyMafjdhV2ripdJdHYdRHhhxkXPeYpnVRkFORB0Dt1X1Q==","signatures":[{"sig":"MEUCIQCq3QOS9NupkyrQ8Nr45Af06qu4Mx+pDTo1EDdAETu4iAIgb62O3jc5+uMK/DqFbl0Y/iB0y5lbMBz1FOXQ0OSSj00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2671706},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"77daf78c6a4ede9288fa61154355c215da448c12","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly","build:demo":"esbuild src/demo.ts --bundle --format=esm --outfile=dist/demo.js && cp demo.html ./dist/index.html && cp style.css ./dist/"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.7_1741321310377_0.8008100513032117","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"piano-visualizer","version":"1.0.8","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.8","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"92570feba2ae8db50aab14591373e4e86065b20b","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.8.tgz","fileCount":21,"integrity":"sha512-i1qJzmJXwl6jqWsd/VYRtNhwBMJ8XCzcREXtHoPPiR/mpjvXiy9DR3LPNoRhvWrzxAt79UINXgplbbus4LUxrA==","signatures":[{"sig":"MEUCIHR47DiBZxDynhaRN6xiRi9vRfQuKTZZk8XQCG8Lz0iFAiEAqiY8PnRAfBdlD90ac1LWqXc20i2nTbifMpXU6slE0AQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1339899},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bd4153e7053a5b53bcac94eed64990383ebb8b0b","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly","build:demo":"esbuild src/demo.ts --bundle --format=esm --outfile=dist/demo.js && cp demo.html ./dist/index.html && cp style.css ./dist/"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.8_1741321850817_0.677632901272704","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"piano-visualizer","version":"1.0.9","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.9","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"0ab9ad1c71c71953d805cf2906e38cf345cc4a4b","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.9.tgz","fileCount":21,"integrity":"sha512-Cmh3UeR3yD26nLlah7B1XLUewuFBWPZSKpLgHANBEKnMsi3HJ4PtSVa0p1bJr7QBrSmuvji8CSguynYGfCf52Q==","signatures":[{"sig":"MEYCIQCrQE6FnWQHg1dkTDBaPF3uTNTlug/+xqjb0xMet2JhcQIhAKMedMOaDZnScIrvnJ/0plCeiF8KSko/WKqHaARhtlFm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1339935},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bd4153e7053a5b53bcac94eed64990383ebb8b0b","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly","build:demo":"esbuild src/demo.ts --bundle --format=esm --outfile=dist/demo.js && cp demo.html ./dist/index.html && cp style.css ./dist/"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.9_1741322330085_0.6684170580772171","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"piano-visualizer","version":"1.0.10","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.10","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"6013a3152e2d9f2edc26ebd73373151666e6c794","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.10.tgz","fileCount":21,"integrity":"sha512-pijXNErza2/R0Az/sKGt4XNeb5wiYI5BdnhIzHNGkW3+n61o0pTDcuCZvVH3BZMkhXa1BErQq9IGgZKpioQVpQ==","signatures":[{"sig":"MEYCIQCnUixl5skTTqMUWCSppzp4LlMydORRbKOrsq1vVrdTEAIhAKe6FmaAuq8q5W+ZvvBHIso87Z6ZOtcMCitqxxWjk9ln","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1340127},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bd4153e7053a5b53bcac94eed64990383ebb8b0b","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly","build:demo":"esbuild src/demo.ts --bundle --format=esm --outfile=dist/demo.js && cp demo.html ./dist/index.html && cp style.css ./dist/"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.10_1747786904688_0.5227667698607936","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"piano-visualizer","version":"1.0.11","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.11","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"84dc664d9d37af27283587e1f5854315fc11cbbe","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.11.tgz","fileCount":17,"integrity":"sha512-tPILx+dwTw5HRYvwXPmWt7/LWXnvKTH+Uq/rl8XQYSjJCIzLZ87E40dEBwyAkuHs4VzG3/u351snnImkZbnsLg==","signatures":[{"sig":"MEUCIQDxl0PeyauABkueasCKl+uUbnOcnSeU+qoW5ql7MPIAmgIgAZ88tXJYpq2c6yYfkvSfMgo3nVMNo09c+OF3nlfH8Gg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1337995},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"4b0bbf1a196c959d3780ca9bede4b1ee5ad68fc6","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly","build:demo":"esbuild src/demo.ts --bundle --format=esm --outfile=dist/demo.js && cp demo.html ./dist/index.html && cp style.css ./dist/"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.11_1749070056052_0.7684891423537854","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"piano-visualizer","version":"1.0.12","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.12","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"46c94418b9d57add94f3addb243ff43eace33c0d","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.12.tgz","fileCount":17,"integrity":"sha512-k62rtrjnzUtT6GI4T0CL5aAJXIfF8e6ksh5B+JDFdTJui+eiPDJ7nqjIysmcR7eGsPLf52wn8Lq4Xt2WOh6qzg==","signatures":[{"sig":"MEUCIQD6FgpM0IBlb3NkdWWEwcuukaVqHGYkkxWkgo8emHG2DwIgdycNUPuR0UNjNO2lHFqozWROF/EN32X576sMt2/HH6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1337996},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"e8ecf51bb26492efae18ceeee035ac801604f7f1","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly","build:demo":"esbuild src/demo.ts --bundle --format=esm --outfile=dist/demo.js && cp demo.html ./dist/index.html && cp style.css ./dist/"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.12_1749179466280_0.9771929395652004","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"piano-visualizer","version":"1.0.13","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.13","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"13affb3effc965c020a90ad2e492729d2c715cb1","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.13.tgz","fileCount":17,"integrity":"sha512-769/KsRWTXxAeiNkXlhX/YtK5LUJyZM2/rFDYjJYnyS8zX0jJjsdzObGoC8tefJhkZzTE+865wQROu4uopxctw==","signatures":[{"sig":"MEYCIQCL7rLmvjwK4bQSI9HLdCx+JtMfv1vy3LqvxXHCbIHnOAIhAIOYY0NK7OKBRs/Dr/bY1IdYd7U+VcMjbEgrejLVgko1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338184},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"6b97e9c1e729b68f794958af474fb0f6c094b247","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly","build:demo":"esbuild src/demo.ts --bundle --format=esm --outfile=dist/demo.js && cp demo.html ./dist/index.html && cp style.css ./dist/"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.13_1749186220984_0.833821548978189","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"piano-visualizer","version":"1.0.14","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.14","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"}],"dist":{"shasum":"f3ec71b3e1502488c5d708def0f929d6fc53df5e","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.14.tgz","fileCount":17,"integrity":"sha512-CWKOtgopLj9/zkryHqApZiGlBeNd71YyMB9HLiGPXl8tKsYJUZpfpvgdVkE2LzcMHfgMc3WwHCMcwSdVGzFs/A==","signatures":[{"sig":"MEUCICTL56iJYkmxUqR0PErIPqqpkGOtn3vFtAhjtA1poQ0KAiEAl9ZGOsqMPlSesB8pK/Bpl6a69eQCMp2cEh58OOt9ItY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1338166},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"c866c7cbd3061a08bfdbfcce1f97744a241a1976","scripts":{"dev":"vite --host 0.0.0.0","build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && tsc --emitDeclarationOnly","build:demo":"esbuild src/demo.ts --bundle --format=esm --outfile=dist/demo.js && cp demo.html ./dist/index.html && cp style.css ./dist/"},"_npmUser":{"name":"deerowe","email":"danielrowetech@gmail.com"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.1","esbuild":"^0.25.0","typescript":"~5.6.2"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.14_1750052468641_0.29525244591924027","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"piano-visualizer","version":"1.0.15","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.15","maintainers":[{"name":"deerowe","email":"danielrowetech@gmail.com"},{"name":"d-buckner","email":"daniel@d-buckner.org"}],"dist":{"shasum":"44a71381d6b3d1b3869e426842d61f0b5094571a","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.15.tgz","fileCount":15,"integrity":"sha512-glJc8c0R6mFECU2jLJO9Db3ieELHfK1P1JxAxTL86FJ9eWSgxXuUjHxOWJdpCRZm7reB/J21cE9pMi2pWDYGHQ==","signatures":[{"sig":"MEUCIQCHppZwFy5k4qF0EEoGt330x2GzSwR99BREj1PxrwOXmQIgbTRRLtpsLz9PS5b2qq4Vm4tcIFxJSvX3W+n3OGxabxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606623},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"450e6433b6a6cd4e8be19cfe259cda2cde4e2381","scripts":{"dev":"vite","build":"vite build","publish":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","actor":{"name":"d-buckner","type":"user","email":"daniel@d-buckner.org"},"email":"daniel@d-buckner.org"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.15_1750875880437_0.4567441024386616","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"piano-visualizer","version":"1.0.16","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.16","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"f62edeb2ee045c8551a46d31ca5bfe8d019f7406","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.16.tgz","fileCount":15,"integrity":"sha512-Zb1GW/FSvq2t3o/wveOckAlxKo1BMiOoSM7BGASo5Pqx0o3EdQSslVkC56XE4jId9sRVjfp24ZPXkEMYQxQtHA==","signatures":[{"sig":"MEUCIEgPpV5qqhjAmbnBNU+ZTh9QoFGEvHuBQgujdUUD8j+AAiEA/G0k1m/eBhpjLkWfj/X4I99u6D8d25IddovHVe3DTe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607504},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bbeb791fd88dd208fd6f69d63fafd369656f3963","scripts":{"dev":"vite","test":"vitest","build":"vite build","publish":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","actor":{"name":"d-buckner","type":"user","email":"daniel@d-buckner.org"},"email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"10.9.2","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"22.14.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.16_1750916901236_0.37923217984418534","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"piano-visualizer","version":"1.0.17","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.17","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"a3675d3280a0d260bae04861d1e3d5d6f746cd7b","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.17.tgz","fileCount":13,"integrity":"sha512-S87L4B8IALrpvEhrgvzb+xsez9aetQtzX1LCGd+JmWJEENz7gh7luvuBtbOLSg5Shy4QIBuSjJNQ9Q9YBRxS/A==","signatures":[{"sig":"MEYCIQCuCSn/S4MIvzxeeaEi9o/cJ6EcRV45JI9PaN+PztuXRQIhAO3hZ96eNZRBEHdHU3QvHVrb3cg/8/0drKTh1M07BXvs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606492},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bbeb791fd88dd208fd6f69d63fafd369656f3963","scripts":{"dev":"vite","test":"vitest","build":"vite build","publish":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","actor":{"name":"d-buckner","type":"user","email":"daniel@d-buckner.org"},"email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.3.0","description":"WebGPU accelerated piano roll visualizer","directories":{},"_nodeVersion":"24.2.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.17_1751269757720_0.024096135675268693","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"piano-visualizer","version":"1.0.18","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.18","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"b26a172bbcf5b7dfaaa930786af85ae5fba0c4c2","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.18.tgz","fileCount":13,"integrity":"sha512-pN76c5feamOcuMjBUW70q88eJD/1/d4g0uWM3MdggolTikqOHSxZYHfmCCPeMbdUa7yHplsZfD6zYyB7slW1/g==","signatures":[{"sig":"MEYCIQD1D2UDYonDnYWxzyje1ytXdWfAL6NvfphWhJtfBV6j9gIhAPXV3Fk5BqlHC44eQ/RR9YVUadgoeaTgk4t36uYqeAQm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607765},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3fd4685fd12eef5a9d0a85a7bfefbcf07cabc9d8","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","actor":{"name":"d-buckner","type":"user","email":"daniel@d-buckner.org"},"email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.3.0","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.18_1751949560272_0.11880518887238956","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"piano-visualizer","version":"1.0.20","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.20","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"f711c4d5b591bc52361608b56f0536c78158a1ad","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.20.tgz","fileCount":13,"integrity":"sha512-/B1ZS7h3HU1XE0XKtIR5Vqoz4J4LOxtU2gDh+D++mlC67kXnuGVBA/0q6IpkSn/OWGUGSUxVLxjfStH02B0hEQ==","signatures":[{"sig":"MEQCIH8v5vA+2PXYYji5kW6zllx3iHBABoePHBnh13H+fOSIAiAd9L9UNQ6BogVZeRTHCBRB6KSXhde2MlFVuIB6lwR9Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610565},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"303b39535d1562aa234d66a203dc61d43e2d1fee","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.3.0","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.20_1752260093021_0.09429922046664219","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"piano-visualizer","version":"1.0.21","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.21","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"ca25b6192c9ab7f339e5649adf2349b35ddc8e12","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.21.tgz","fileCount":13,"integrity":"sha512-1BQnQxvfFCcjEf2K0yQpYLkqSxAC6YQl7HTjuDeO+vnc4g/rehYiFszUzNxsKiX770STv6CKQhPbdEf/MlVl1Q==","signatures":[{"sig":"MEQCIHGufUIrjNHAVwOYmNf7HyDH7U1YnnpSSm1vl0vMEBj1AiAaE21BX2sctMJJvdyH0U7Q3VRFtuS7JbVLyq9Efq+UvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615364},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"d3063df74dbb28a6a0d3a9140d77778456355974","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.3.0","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"24.2.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.21_1754439901151_0.7450212210000522","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"piano-visualizer","version":"1.0.22","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.22","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"afabb804d15ccdb059e10bf8036fbc5a03566860","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.22.tgz","fileCount":13,"integrity":"sha512-fUE37N/WlVBC/+DPHrxKghCXMUi05l+WTEX61mTG6b1IW6/ffzBnd15wTsqujI9jETQ1DFKhNZfXvPiP7s45xQ==","signatures":[{"sig":"MEUCIQD/Vo/GPwd+G2Ujc4kqGZRqAdGjgfLsqC9MH2kwiro5uwIgAgLlAwltdY+PAvkfdQRUHrtqWF0/5p66QuqobXaUa34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":617076},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"1efd352fe551082682a16968befb1977e3df20f4","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.5.1","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"24.5.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.22_1754952374019_0.02135297292944527","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"piano-visualizer","version":"1.0.23","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.23","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"0b56e9fa6bc28cb587ef2d1cb8869a690d102ae7","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.23.tgz","fileCount":13,"integrity":"sha512-y9gbUZZZ+t9lFhVqh237jnNOFh2SBztcTiSx3qMvvWErOgKOyz69n9ZNXhVxtF38ePT6J89sUG2j1xoQpnuKAA==","signatures":[{"sig":"MEUCIQCMM7O93bjhSESX/FYa6ifKicWgQ+clOjq4RDmeBNUaigIgfUpC7rdG3abQ4lLilPDhFOTjE6Eo7X7mcwYtIkHFzYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":619235},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bf1065d0f81cbab877174161bb88ef2eeb9e1a61","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.5.2","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.23_1755759910201_0.8290189016351319","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"piano-visualizer","version":"1.0.24","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.24","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"e3cc6625e402f3c3594ffa3a63cc51cd8e5bea8c","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.24.tgz","fileCount":13,"integrity":"sha512-+bZ69Q2OrpwIn3wepDxnJbsjFwzulCwLPBOD0jOAlkj8Too+B/3RnyFOUq7pBETir5Mf1f71U7/V2ZyYTdsntQ==","signatures":[{"sig":"MEYCIQDEAbgJpB+V1Xr0Tn5K0o4xEIjeSDVg5sURfjkkhtqgCQIhAIJQfN7YoeIl91lMqrNW2ebV9HHXPZMw+Id+gDeFUjyK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":619176},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"578ea8bd2390f5cf99c49236ce08f85e91bcf767","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.5.2","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"24.6.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.24_1755796829995_0.14267315693563742","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"piano-visualizer","version":"1.0.25","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.25","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"a2ccd7dfe13f45a0330c12189281274afc70979b","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.25.tgz","fileCount":13,"integrity":"sha512-L4RLEkaumW6GweEPFPp/GoYc11EUhE/Jv1GeJjCxr6YVTlHqLc2Df6sxlYuIeNNJdJOq8FScrOTvRXQSTzB6dQ==","signatures":[{"sig":"MEUCIEDhscs/zedNik5sHC2cTXiBgrNdhOOVlMWvWx4hq+AtAiEApLs0a9JqcRz4zTviZ9ZdhIhxlVOF8ROOOl1Mi26QApY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":619209},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"4913b09595df5f265259f18bab639c5e50d1309c","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.6.0","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.25_1760648545019_0.09203384137269555","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"piano-visualizer","version":"1.0.26","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.26","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"d34bebc0f689bd9a779fad3a2dfe4ecf001b472c","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.26.tgz","fileCount":13,"integrity":"sha512-76zP0BjpTSBVs6EPv+yc/OVsoSbqboXm2eBLMUKp53SxOeIL6dSKy1GVi+K4iC86wKhsH+ZIhO/AoqwOVTIUhg==","signatures":[{"sig":"MEQCIFkgG6dSXKLJSi8riuJrKK4+nle8q3XlGBRCzu9eZMwFAiBoEFeRrS08gym9oWeAwWRrB4BlMjHpO8sizqmP7WZCSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":619466},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bbdd46c74ff2f863168f6c2dea7f88443f191a4e","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.6.2","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"25.1.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.26_1762392485296_0.4454062190301551","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"piano-visualizer","version":"1.0.27","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.0.27","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"c52c194d750e735ac32e42974f273f1fb1363e87","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.0.27.tgz","fileCount":13,"integrity":"sha512-OxXS4Y+VWYPmRXl3txP0TbzWRH+jWbSqCOflNxJG4Ji92gGU7hMxlEbA8oWBF/avyRVrLEOOP9337IOgvU4Dtg==","signatures":[{"sig":"MEUCIFVpz7OVf36fNUnpNj0WY7OFPZi4//4FVtY0lrzAPowZAiEA9X4oupjJA+D4VscAvgPBw5I0qq/+xz0fmMuL2LfNBQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":619466},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"bbdd46c74ff2f863168f6c2dea7f88443f191a4e","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.6.2","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"25.1.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.0.27_1762392608296_0.38147983846407696","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"piano-visualizer","version":"1.1.0","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.1.0","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"29d3651145ba8a71d7c5a9a68914285580185c79","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.1.0.tgz","fileCount":13,"integrity":"sha512-rI4dZNaosuYTlFw69WK8eeQCNj83F7zCjTMvvQq624M5/cz4hwJq5x0sXC0jh5SP8sMRXwOYhLzjKfp5MS+bWg==","signatures":[{"sig":"MEUCIG/K2KPqzFNuiZIhpPYo7/XcTrX8VuigFpfKlz9LiFfJAiEAh4WMsAt6rPmX3Iuq5hkJxR4FLvTw0ChUEeNh4j5W+K8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":620287},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"7b947b2a54fa7404008f9f72812ce58b02657a73","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.12.1","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.1.0_1779056632125_0.3378485830916169","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"piano-visualizer","version":"1.2.0","author":{"name":"d-buckner"},"_id":"piano-visualizer@1.2.0","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"homepage":"https://github.com/d-buckner/piano-visualizer#readme","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"dist":{"shasum":"aab7503962c283de83916c35d98a5a56359da5c1","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.2.0.tgz","fileCount":16,"integrity":"sha512-cbS+Ubj5oqOXJ7bCa4wCkcE5UwhTnl0Hvo/K4/lmQQ5PoT1Qw7ZleriDK0vru3kyQrr0ERzjOyPoXxVihkJiQg==","signatures":[{"sig":"MEQCIHK0RBAsM9zGFSRz+AexMHK0gaYS1GIMYIY70deMcuEAAiAFqTmpeqjIihRx19ZuSWQt9zyvG1Vkf4hZ5Np/ElCn6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623969},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"ee8699aef3628f898cc367a5386ad6d75a2bcd38","scripts":{"dev":"vite","test":"vitest","build":"vite build","release":"npm run build && npm publish","build:demo":"vite build --mode development","test:acceptance":"playwright test"},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"repository":{"url":"git+https://github.com/d-buckner/piano-visualizer.git","type":"git"},"_npmVersion":"11.12.1","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"pixi.js":"^8.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","vitest":"^3.2.4","happy-dom":"^18.0.1","typescript":"^5.8.3","vite-plugin-dts":"^4.5.4","@playwright/test":"^1.60.0","rollup-plugin-terser":"^7.0.2","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/piano-visualizer_1.2.0_1779593411483_0.48139696437722","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"piano-visualizer","author":{"name":"d-buckner"},"repository":{"type":"git","url":"git+https://github.com/d-buckner/piano-visualizer.git"},"version":"1.2.1","type":"module","main":"dist/index.js","scripts":{"dev":"vite","build":"vite build","build:demo":"vite build --mode development","test":"vitest","test:acceptance":"playwright test","release":"npm run build && npm publish"},"devDependencies":{"@playwright/test":"^1.60.0","@rollup/plugin-terser":"^0.4.4","happy-dom":"^18.0.1","rollup-plugin-terser":"^7.0.2","typescript":"^5.8.3","vite":"^7.0.0","vite-plugin-dts":"^4.5.4","vitest":"^3.2.4"},"dependencies":{"pixi.js":"^8.6.4"},"gitHead":"06a18d86d0dff059b64e1627d784a992ada5a49e","types":"./dist/index.d.ts","_id":"piano-visualizer@1.2.1","description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"homepage":"https://github.com/d-buckner/piano-visualizer#readme","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-wWGJQA7CNc3JbKDOY1QCm7QTJLWcuh6usUC+6dTcllFHFzW1+0NgjstPH8XEkU7Yykjva7v8MkIUp/ZnFrAOXg==","shasum":"9ef9395d1d9a04d6bed0e433a45a45d954ac5a3e","tarball":"https://registry.npmjs.org/piano-visualizer/-/piano-visualizer-1.2.1.tgz","fileCount":16,"unpackedSize":628845,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDFS9MZEj5Jm3ajvwcmXu6zexE3d2YIIdy5cIPI4C7PAgIhALC0z+6OhokaSTkRvf7FNx1VERmJUTTf260RytXcfJLJ"}]},"_npmUser":{"name":"d-buckner","email":"daniel@d-buckner.org"},"directories":{},"maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piano-visualizer_1.2.1_1781239071974_0.25499631263774325"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-14T03:26:27.438Z","modified":"2026-06-12T04:37:52.243Z","1.0.0":"2025-02-14T03:26:27.626Z","1.0.1":"2025-02-14T03:43:07.934Z","1.0.2":"2025-02-19T04:16:58.412Z","1.0.3":"2025-02-23T02:27:38.895Z","1.0.4":"2025-02-23T18:09:32.878Z","1.0.5":"2025-02-24T04:21:05.298Z","1.0.6":"2025-02-24T04:59:55.760Z","1.0.7":"2025-03-07T04:21:50.627Z","1.0.8":"2025-03-07T04:30:51.029Z","1.0.9":"2025-03-07T04:38:50.293Z","1.0.10":"2025-05-21T00:21:44.944Z","1.0.11":"2025-06-04T20:47:36.343Z","1.0.12":"2025-06-06T03:11:06.557Z","1.0.13":"2025-06-06T05:03:41.216Z","1.0.14":"2025-06-16T05:41:08.880Z","1.0.15":"2025-06-25T18:24:40.676Z","1.0.16":"2025-06-26T05:48:21.495Z","1.0.17":"2025-06-30T07:49:18.000Z","1.0.18":"2025-07-08T04:39:20.458Z","1.0.20":"2025-07-11T18:54:53.258Z","1.0.21":"2025-08-06T00:25:01.373Z","1.0.22":"2025-08-11T22:46:14.306Z","1.0.23":"2025-08-21T07:05:10.453Z","1.0.24":"2025-08-21T17:20:30.293Z","1.0.25":"2025-10-16T21:02:25.266Z","1.0.26":"2025-11-06T01:28:05.611Z","1.0.27":"2025-11-06T01:30:08.577Z","1.1.0":"2026-05-17T22:23:52.273Z","1.2.0":"2026-05-24T03:30:11.692Z","1.2.1":"2026-06-12T04:37:52.136Z"},"bugs":{"url":"https://github.com/d-buckner/piano-visualizer/issues"},"author":{"name":"d-buckner"},"homepage":"https://github.com/d-buckner/piano-visualizer#readme","repository":{"type":"git","url":"git+https://github.com/d-buckner/piano-visualizer.git"},"description":"A piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.","maintainers":[{"name":"d-buckner","email":"daniel@d-buckner.org"}],"readme":"# Piano Visualizer\n\nA piano roll visualizer built with PixiJS. Displays notes as they're played with a scrolling piano roll interface and interactive piano keyboard.\n\n## Installation\n\n```bash\nnpm install piano-visualizer\n```\n\n## Usage\n\n```typescript\nimport Visualization from 'piano-visualizer';\n\nconst viz = new Visualization({\n  container: document.getElementById('piano-container'),\n  backgroundColor: 'black',\n  onKeyDown: (midi) => {\n    return '#ff0000'; // Optional: return a color for this note\n  },\n  onKeyUp: (midi) => {\n    // Handle key release\n  }\n});\n\n// Start a note\nviz.startNote(60, '#00ff00'); // Middle C in green\n\n// End a note\nviz.endNote(60);\n\n// Cleanup\nviz.destroy();\n```\n\n## API\n\n### Constructor Options\n\n```typescript\ninterface Config {\n  container: HTMLElement;\n  backgroundColor?: ColorSource;\n  onKeyDown?: (midi: number) => string | undefined;\n  onKeyUp?: (midi: number) => void;\n}\n```\n\n### Methods\n\n- `startNote(midi: number, color?: string, identifier?: string)` - Start visualizing a note\n- `endNote(midi: number, identifier?: string)` - Stop visualizing a note  \n- `destroy()` - Clean up resources\n\n## Development\n\n```bash\nnpm install\nnpm run dev     # Start development server\nnpm run build   # Build for production\nnpm run test    # Run tests\n```\n","readmeFilename":"README.md"}