{"_id":"@adamsarek/opencanvas","_rev":"8-97c7532ccf9476111cd2b8ee0d128e32","name":"@adamsarek/opencanvas","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"@adamsarek/opencanvas","version":"0.0.1","keywords":["opencanvas","open-canvas","open canvas","open","canvas","open source","typescript","javascript"],"author":{"name":"Adam Šárek"},"license":"SEE LICENSE IN LICENSE","_id":"@adamsarek/opencanvas@0.0.1","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"homepage":"https://github.com/adamsarek/opencanvas#readme","bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"dist":{"shasum":"63a8c7d9f0057a16bda1aa75338dcf194369d7da","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.1.tgz","fileCount":5,"integrity":"sha512-Cyv0ubMYsLT/kYDQsybHO5Imn7BTD1OGlXRTTcSNNQADfPWyZ9UWC786Wvryh9Ylv1D7LoujsOGl00Z3XjzaDQ==","signatures":[{"sig":"MEQCICOimFtCTi6gjFVnno6n4dOyGG1UMzBrTtvN5qnoCbqlAiAGf1G2Dhgijd+YKTl8M4eZUlfNWSue0d8IPsQJzIOtTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42218},"main":"dist/opencanvas.js","gitHead":"5eb449870a03d99daec5be056d27439e6c4a0ea6","scripts":{"build":"esbuild src/**/*.ts --bundle --format=esm --minify --sourcemap --outdir=dist","watch":"esbuild src/**/*.ts --bundle --format=esm --minify --sourcemap --outdir=dist --watch"},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"repository":{"url":"git+https://github.com/adamsarek/opencanvas.git","type":"git"},"_npmVersion":"10.8.2","description":"","directories":{},"_nodeVersion":"20.18.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/opencanvas_0.0.1_1732446652958_0.27105076468384826","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@adamsarek/opencanvas","version":"0.0.2","keywords":["opencanvas","open-canvas","open canvas","open","canvas","open source","typescript","javascript"],"author":{"name":"Adam Šárek"},"license":"GPL-3.0","_id":"@adamsarek/opencanvas@0.0.2","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"homepage":"https://github.com/adamsarek/opencanvas#readme","bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"dist":{"shasum":"230e746b331be24d213b403a8f9fb36cc53359d3","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.2.tgz","fileCount":7,"integrity":"sha512-NyPY0mSjXaaFReydG8rS2jnsr7+dXa+H7pG0O7FJjXeuknYzD8pPtZ0pH16v9qW+PpbTnFOyU4DGn1sAx0O5MA==","signatures":[{"sig":"MEUCIQD8DH9xVb6xgrKkwK2R5lYzIBmY7IeKWSRyUNbuIrdFCgIgW9q+V9r7F+acTO9vqzm+OlHoIEyJPMKUdKvMwE2+ph4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43489},"main":"dist/opencanvas.js","gitHead":"77511abed0a771aae3c728257bb921e6f0889e68","scripts":{"build":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug","watch":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug --watch"},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"repository":{"url":"git+https://github.com/adamsarek/opencanvas.git","type":"git"},"_npmVersion":"10.8.2","description":"","directories":{},"_nodeVersion":"20.18.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/opencanvas_0.0.2_1732830413973_0.48668103384299943","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@adamsarek/opencanvas","version":"0.0.3","keywords":["opencanvas","open-source","canvas","offscreencanvas","canvas2d","webgl","webgl2","webgpu","webworker","typescript"],"author":{"name":"Adam Šárek"},"license":"GPL-3.0","_id":"@adamsarek/opencanvas@0.0.3","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"homepage":"https://github.com/adamsarek/opencanvas#readme","bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"dist":{"shasum":"cef1ee8067e911b57aea6d184649b849ec8d2048","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.3.tgz","fileCount":7,"integrity":"sha512-n7wSlztxmpmN/rSTjlEWsNxauLnly6H/RK5fghvmMCYLzwmMXWv/6z9sfu12ofhymW9aXKu5dCSK8/qZOso2Lg==","signatures":[{"sig":"MEUCIQCHdxjL5xBgKveGgw34+MIR062+Mf1s1wZDNkb3fnzVPAIgOIsfsOMej9iF/Q9rKeF7IHp03YRQmz3MZMluodbpRNk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48526},"main":"dist/opencanvas.js","gitHead":"5a92ea0bcfba62ca006a42f8d5286b3b61a1387e","scripts":{"build":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug","watch":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug --watch"},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"repository":{"url":"git+https://github.com/adamsarek/opencanvas.git","type":"git"},"_npmVersion":"10.8.2","description":"<table> \t<thead> \t\t<tr> \t\t\t<th rowspan=\"2\" align=\"left\">Feature</th> \t\t\t<th colspan=\"6\">Desktop</th> \t\t\t<th colspan=\"3\">Phone</th> \t\t</tr> \t\t<tr> \t\t\t<th align=\"left\">Chrome</th> \t\t\t<th align=\"left\">Edge</th> \t\t\t<th align=\"left\">Safari</th> \t\t\t<th align=\"l","directories":{},"_nodeVersion":"20.18.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/opencanvas_0.0.3_1732926519337_0.30058987387630465","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@adamsarek/opencanvas","version":"0.0.4","keywords":["opencanvas","open-source","canvas","offscreencanvas","canvas2d","webgl","webgl2","webgpu","webworker","typescript"],"author":{"name":"Adam Šárek"},"license":"GPL-3.0","_id":"@adamsarek/opencanvas@0.0.4","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"homepage":"https://github.com/adamsarek/opencanvas#readme","bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"dist":{"shasum":"e436a01aa0d31f5590ee4596c736233a532cec35","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.4.tgz","fileCount":11,"integrity":"sha512-Qw0YoUkktnjN+TkiVlAl3+Srfy+rqlJtm3KCBg6ZROxGTqt9S+94WpmZAWdWfO9zlAqLGC0uyVMfqbHef8dOcA==","signatures":[{"sig":"MEUCIQCBKMGXehF4wS7mBmF2hIXQKyzCW1Fdv42doY0mu9sy9AIgaK2Gvszcfg5bvVQ9NtyWOTm6KxFKA60C+5FC47yH6qE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44456},"main":"dist/opencanvas.js","gitHead":"18062b54a84554c0dee58f41ce571bf9722cac19","scripts":{"build":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug","watch":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug --watch"},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"repository":{"url":"git+https://github.com/adamsarek/opencanvas.git","type":"git"},"_npmVersion":"10.8.2","description":"Reusable performance focused canvas built in TypeScript and on top of the latest web tech.","directories":{},"_nodeVersion":"20.18.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/opencanvas_0.0.4_1732997859235_0.5875305176729986","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@adamsarek/opencanvas","version":"0.0.5","keywords":["opencanvas","open-source","canvas","offscreencanvas","canvas2d","webgl","webgl2","webgpu","webworker","typescript"],"author":{"name":"Adam Šárek"},"license":"GPL-3.0","_id":"@adamsarek/opencanvas@0.0.5","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"homepage":"https://github.com/adamsarek/opencanvas#readme","bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"dist":{"shasum":"e1c6f636c430a9045d4ba4a8549f8575de155db9","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.5.tgz","fileCount":17,"integrity":"sha512-oG39rlWQ7vXR9AgemgvGsN/1LFeUZ508vMKRAdT0OX8tn4OwbRCe2A37TtqSCPx5UD7Bk9lqQQHAqvxo3x7yhg==","signatures":[{"sig":"MEUCIQDXDsZ5bbCFZdi9lBFVH1qreC5x8cDF5RBN9cu/iSSBEwIgIvDYpL91tumwtErBuU3gPlNpzfWRialTs1RqTcJ0lb4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56112},"main":"dist/opencanvas.js","gitHead":"14563a301d5952c8148187b2e504adf063ac7cfb","scripts":{"build":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug","watch":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug --watch"},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"repository":{"url":"git+https://github.com/adamsarek/opencanvas.git","type":"git"},"_npmVersion":"10.8.2","description":"Reusable performance focused canvas built in TypeScript and on top of the latest web tech.","directories":{},"_nodeVersion":"20.18.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/opencanvas_0.0.5_1733058831416_0.5387761361915704","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@adamsarek/opencanvas","version":"0.0.6","keywords":["opencanvas","open-source","canvas","offscreencanvas","canvas2d","webgl","webgl2","webgpu","webworker","typescript"],"author":{"name":"Adam Šárek"},"license":"GPL-3.0","_id":"@adamsarek/opencanvas@0.0.6","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"homepage":"https://github.com/adamsarek/opencanvas#readme","bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"dist":{"shasum":"652f9c18fe5a0b71f6cd46ae7326363e02ea74d7","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.6.tgz","fileCount":27,"integrity":"sha512-ou6MYC1KRBvlar4lDzLG6E/CuENF2SPWwEG1ynU2OR67zDKTQAtMrjLKJpk3IHzjond8JWj4qq0Ahe9GqxHmUQ==","signatures":[{"sig":"MEYCIQCQNXlUbeRRBwRwuxEvkaIi2oLvmEvcEQ8iv/ddFZ6pDgIhAOoEv04aT//xniWSkushTSDVGZBLTiTrW+vw6fx9vG0c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83382},"main":"dist/opencanvas.js","gitHead":"37280dfdc67e7144ea3ef0459155d788236a2745","scripts":{"build":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug","watch":"npm install && esbuild src/**/* --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug --watch"},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"repository":{"url":"git+https://github.com/adamsarek/opencanvas.git","type":"git"},"_npmVersion":"10.8.2","description":"Reusable performance focused canvas built in TypeScript and on top of the latest web tech.","directories":{},"_nodeVersion":"20.18.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/opencanvas_0.0.6_1734185890689_0.9101424232233832","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@adamsarek/opencanvas","version":"0.0.7","keywords":["opencanvas","open-source","canvas","offscreencanvas","canvas2d","webgl","webgl2","webgpu","webworker","typescript"],"author":{"name":"Adam Šárek"},"license":"GPL-3.0","_id":"@adamsarek/opencanvas@0.0.7","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"homepage":"https://github.com/adamsarek/opencanvas#readme","bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"dist":{"shasum":"d27abd540da4df874d477c6f9cb6284e81364f39","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.7.tgz","fileCount":31,"integrity":"sha512-EVeGhU8EdlIZGS5IunrotcOiXX5KjgY5IcXKOZ9ulRVBKm+OoozP/TSbT8qVsSq7lwY2e1FOdt021zeBPsZ4tA==","signatures":[{"sig":"MEUCIQCrhC64N1NotEK5iM96ddbQyPtg+TiV0iiwZTuowypsQAIgRGrZQOz1t0k79xZ9yfRR2ADS5Z3CmpwgK6p6tISptSg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118904},"main":"dist/opencanvas.js","gitHead":"c9312669dd03e7926d6aa41f2aefa4aa6620c24c","scripts":{"build":"npm install && esbuild \"src/**/*\" --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug","watch":"npm install && esbuild \"src/**/*\" --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug --watch"},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"repository":{"url":"git+https://github.com/adamsarek/opencanvas.git","type":"git"},"_npmVersion":"10.8.2","description":"Reusable performance focused canvas built in TypeScript and on top of the latest web tech.","directories":{},"_nodeVersion":"20.18.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/opencanvas_0.0.7_1734274758261_0.4838838155433629","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@adamsarek/opencanvas","version":"0.0.8","keywords":["opencanvas","open-source","canvas","offscreencanvas","canvas2d","webgl","webgl2","webgpu","webworker","typescript"],"author":{"name":"Adam Šárek"},"license":"GPL-3.0","_id":"@adamsarek/opencanvas@0.0.8","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"homepage":"https://github.com/adamsarek/opencanvas#readme","bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"dist":{"shasum":"070a7597426d2745d31a130409d7b0142be5db1d","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.8.tgz","fileCount":31,"integrity":"sha512-A+oET3QKyeFWD50LPnZADy6P1KW1lTTX0ZrSLhmiCXQgtDjysUZ3yHO9RgKa5qxeIQGZttLeXkxnUpbgX3NpeA==","signatures":[{"sig":"MEQCIERrU138rP5YmCLUREvs6tVY52Is9fRVUNjbzGcBWcQuAiBuzSms4hnsayzW6XwFn21u2oGkrh3+DKdfD8iEZctpCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119405},"main":"dist/opencanvas.js","gitHead":"35682d02cec1c886553aa96d4b82246763965a2a","scripts":{"build":"npm install && esbuild \"src/**/*\" --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug","watch":"npm install && esbuild \"src/**/*\" --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug --watch"},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"repository":{"url":"git+https://github.com/adamsarek/opencanvas.git","type":"git"},"_npmVersion":"10.8.2","description":"Reusable performance focused canvas built in TypeScript and on top of the latest web tech.","directories":{},"_nodeVersion":"20.18.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/opencanvas_0.0.8_1734722454491_0.6384418116264208","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@adamsarek/opencanvas","version":"0.0.9","description":"Reusable performance focused canvas built in TypeScript and on top of the latest web tech.","keywords":["opencanvas","open-source","canvas","offscreencanvas","canvas2d","webgl","webgl2","webgpu","webworker","typescript"],"author":{"name":"Adam Šárek"},"license":"GPL-3.0","homepage":"https://github.com/adamsarek/opencanvas#readme","repository":{"type":"git","url":"git+https://github.com/adamsarek/opencanvas.git"},"bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"main":"dist/opencanvas.js","scripts":{"build":"npm install && esbuild \"src/**/*\" --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug","watch":"npm install && esbuild \"src/**/*\" --bundle --format=esm --minify --sourcemap --outdir=dist --log-level=debug --watch"},"dependencies":{},"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_id":"@adamsarek/opencanvas@0.0.9","gitHead":"31a36aec100d09dcf10e241c7ead263e99222fd0","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Foz6iDaKkazkA9UXCkkEQjzQPWXmfuaXodsxEENGyFtU+4dOfHEwoS2zqrc5Oprds+V4UWZHqp+YbiAGZ3figQ==","shasum":"babc1a63d2a71bba2db96df729088287ba69ccb3","tarball":"https://registry.npmjs.org/@adamsarek/opencanvas/-/opencanvas-0.0.9.tgz","fileCount":33,"unpackedSize":176366,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2CotFIUGHe9UzdQx+Bne0237xdohCdxzB7UVmc5n+JwIhAKblODdB1clLSqajmN8kRFpXQZDdKvtIE2sTZw4w/zeL"}]},"_npmUser":{"name":"adamsarek","email":"adam.sarek@centrum.cz"},"directories":{},"maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opencanvas_0.0.9_1735503740973_0.6336378329373327"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-24T11:10:52.834Z","modified":"2024-12-29T20:22:21.381Z","0.0.1":"2024-11-24T11:10:53.145Z","0.0.2":"2024-11-28T21:46:54.150Z","0.0.3":"2024-11-30T00:28:39.537Z","0.0.4":"2024-11-30T20:17:39.450Z","0.0.5":"2024-12-01T13:13:51.617Z","0.0.6":"2024-12-14T14:18:10.892Z","0.0.7":"2024-12-15T14:59:18.426Z","0.0.8":"2024-12-20T19:20:54.718Z","0.0.9":"2024-12-29T20:22:21.194Z"},"bugs":{"url":"https://github.com/adamsarek/opencanvas/issues"},"author":{"name":"Adam Šárek"},"license":"GPL-3.0","homepage":"https://github.com/adamsarek/opencanvas#readme","keywords":["opencanvas","open-source","canvas","offscreencanvas","canvas2d","webgl","webgl2","webgpu","webworker","typescript"],"repository":{"type":"git","url":"git+https://github.com/adamsarek/opencanvas.git"},"description":"Reusable performance focused canvas built in TypeScript and on top of the latest web tech.","maintainers":[{"name":"adamsarek","email":"adam.sarek@centrum.cz"}],"readme":"# OpenCanvas\nReusable performance focused canvas built in TypeScript and on top of the latest web tech.\n\n## Browser Support\n<table>\n\t<thead>\n\t\t<tr>\n\t\t\t<th rowspan=\"2\" align=\"left\">Feature</th>\n\t\t\t<th colspan=\"6\">Desktop</th>\n\t\t\t<th colspan=\"3\">Phone</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Google Chrome\" title=\"Google Chrome\" src=\"https://upload.wikimedia.org/wikipedia/commons/e/e1/Google_Chrome_icon_%28February_2022%29.svg\"></th>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Microsoft Edge\" title=\"Microsoft Edge\" src=\"https://upload.wikimedia.org/wikipedia/commons/9/98/Microsoft_Edge_logo_%282019%29.svg\"></th>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Safari\" title=\"Safari\" src=\"https://upload.wikimedia.org/wikipedia/commons/8/8d/Safari_2020_logo.svg\"></th>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Firefox\" title=\"Firefox\" src=\"https://upload.wikimedia.org/wikipedia/commons/a/a0/Firefox_logo%2C_2019.svg\"></th>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Opera\" title=\"Opera\" src=\"https://upload.wikimedia.org/wikipedia/commons/4/49/Opera_2015_icon.svg\"></th>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Internet Explorer\" title=\"Internet Explorer\" src=\"https://upload.wikimedia.org/wikipedia/commons/1/18/Internet_Explorer_10%2B11_logo.svg\"></th>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Google Chrome\" title=\"Google Chrome\" src=\"https://upload.wikimedia.org/wikipedia/commons/e/e1/Google_Chrome_icon_%28February_2022%29.svg\"></th>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Firefox\" title=\"Firefox\" src=\"https://upload.wikimedia.org/wikipedia/commons/a/a0/Firefox_logo%2C_2019.svg\"></th>\n\t\t\t<th><img width=\"24\" height=\"24\" alt=\"Samsung Internet\" title=\"Samsung Internet\" src=\"https://upload.wikimedia.org/wikipedia/commons/e/e9/Samsung_Internet_logo.svg\"></th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t<tr>\n\t\t\t<td><a href=\"https://caniuse.com/canvas\">Canvas</a></td>\n\t\t\t<td align=\"center\">4</td>\n\t\t\t<td align=\"center\">12</td>\n\t\t\t<td align=\"center\">3.1</td>\n\t\t\t<td align=\"center\">2</td>\n\t\t\t<td align=\"center\">10</td>\n\t\t\t<td align=\"center\">9</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">3.2</td>\n\t\t\t<td align=\"center\">4</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><a href=\"https://caniuse.com/mdn-api_canvasrenderingcontext2d\">Canvas2D API</a></td>\n\t\t\t<td align=\"center\">4</td>\n\t\t\t<td align=\"center\">12</td>\n\t\t\t<td align=\"center\">3.1</td>\n\t\t\t<td align=\"center\">2</td>\n\t\t\t<td align=\"center\">10</td>\n\t\t\t<td align=\"center\">9</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">3.2</td>\n\t\t\t<td align=\"center\">4</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><a href=\"https://caniuse.com/webworkers\">Web Workers</a></td>\n\t\t\t<td align=\"center\">4</td>\n\t\t\t<td align=\"center\">12</td>\n\t\t\t<td align=\"center\">4</td>\n\t\t\t<td align=\"center\">3.5</td>\n\t\t\t<td align=\"center\">11.5</td>\n\t\t\t<td align=\"center\">10</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">5</td>\n\t\t\t<td align=\"center\">4</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><a href=\"https://caniuse.com/webgl\">WebGL</a></td>\n\t\t\t<td align=\"center\">8</td>\n\t\t\t<td align=\"center\">12</td>\n\t\t\t<td align=\"center\">5.1</td>\n\t\t\t<td align=\"center\">4</td>\n\t\t\t<td align=\"center\">12.1</td>\n\t\t\t<td align=\"center\">11</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">8</td>\n\t\t\t<td align=\"center\">4</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><a href=\"https://caniuse.com/webgl2\">WebGL 2.0</a></td>\n\t\t\t<td align=\"center\">56</td>\n\t\t\t<td align=\"center\">79</td>\n\t\t\t<td align=\"center\">15</td>\n\t\t\t<td align=\"center\">51</td>\n\t\t\t<td align=\"center\">43</td>\n\t\t\t<td align=\"center\">❌</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">15</td>\n\t\t\t<td align=\"center\">7.2</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><a href=\"https://caniuse.com/offscreencanvas\">OffscreenCanvas</a></td>\n\t\t\t<td align=\"center\">69</td>\n\t\t\t<td align=\"center\">79</td>\n\t\t\t<td align=\"center\">17</td>\n\t\t\t<td align=\"center\">105</td>\n\t\t\t<td align=\"center\">64</td>\n\t\t\t<td align=\"center\">❌</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">17</td>\n\t\t\t<td align=\"center\">10.1</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><a href=\"https://caniuse.com/webgpu\">WebGPU</a></td>\n\t\t\t<td align=\"center\">113</td>\n\t\t\t<td align=\"center\">113</td>\n\t\t\t<td align=\"center\">TP</td>\n\t\t\t<td align=\"center\">63&nbsp;🧪</td>\n\t\t\t<td align=\"center\">99</td>\n\t\t\t<td align=\"center\">❌</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">17.4&nbsp;🧪</td>\n\t\t\t<td align=\"center\">24</td>\n\t\t</tr>\n\t</tbody>\n\t<tfoot>\n\t\t<tr>\n\t\t\t<th colspan=\"10\">Support</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><b>Minimum</b></td>\n\t\t\t<td align=\"center\">4</td>\n\t\t\t<td align=\"center\">12</td>\n\t\t\t<td align=\"center\">4</td>\n\t\t\t<td align=\"center\">3.5</td>\n\t\t\t<td align=\"center\">11.5</td>\n\t\t\t<td align=\"center\">10</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">5</td>\n\t\t\t<td align=\"center\">4</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td><b>Full</b></td>\n\t\t\t<td align=\"center\">113</td>\n\t\t\t<td align=\"center\">113</td>\n\t\t\t<td align=\"center\">TP</td>\n\t\t\t<td align=\"center\">105</td>\n\t\t\t<td align=\"center\">99</td>\n\t\t\t<td align=\"center\">❌</td>\n\t\t\t<td align=\"center\">✔️</td>\n\t\t\t<td align=\"center\">17.4&nbsp;🧪</td>\n\t\t\t<td align=\"center\">24</td>\n\t\t</tr>\n\t</tfoot>\n</table>\nℹ️&nbsp;Contains data provided by <a href=\"https://caniuse.com\">Can I use</a> based on used technologies.<br>\nℹ️&nbsp;The numbers above represent the minimum browser versions supporting the specified feature.<br>\nℹ️&nbsp;Overall minimum support is met when the browser supports Canvas, Canvas2D API and Web Workers.<br>\n✔️&nbsp;Supported&nbsp;&nbsp;&nbsp;&nbsp;❌&nbsp;Not Supported&nbsp;&nbsp;&nbsp;&nbsp;🧪&nbsp;Experimental Support (<i>requires additional configuration</i>)\n\n## Installation\n### npm\n```\nnpm install @adamsarek/opencanvas --save\n```\n\n### CDN\n```\n<link href=\"https://cdn.jsdelivr.net/npm/@adamsarek/opencanvas@latest/dist/opencanvas.css\" rel=\"stylesheet\">\n<script src=\"https://cdn.jsdelivr.net/npm/@adamsarek/opencanvas@latest/dist/opencanvas.js\"></script>\n```\n\n## Getting Started\n### 1. Target Element\n```\n<canvas class=\"opencanvas\"></canvas>\n```\n\n### 2. Create\n```\nconst options = {};\nconst openCanvas = new OpenCanvas(options);\n```\n\n## Options\n<table>\n\t<thead>\n\t\t<tr>\n\t\t\t<th rowspan=\"2\" align=\"left\">Key</th>\n\t\t\t<th colspan=\"3\">Value</th>\n\t\t\t<th rowspan=\"2\" align=\"left\">Description</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th align=\"left\">Type</th>\n\t\t\t<th align=\"left\">Expected</th>\n\t\t\t<th align=\"left\">Default</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t<tr>\n\t\t\t<td valign=\"top\"><code>selector</code></td>\n\t\t\t<td valign=\"top\"><code>string</code><br><code>string[]</code></td>\n\t\t\t<td valign=\"top\">CSS&nbsp;selector<br>classList</td>\n\t\t\t<td valign=\"top\"><code>'.opencanvas'</code></td>\n\t\t\t<td valign=\"top\">Select target element.</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td valign=\"top\"><code>theme</code></td>\n\t\t\t<td valign=\"top\"><code>string</code></td>\n\t\t\t<td valign=\"top\"><code>'auto'</code> | <code>'dark'</code> | <code>'light'</code></td>\n\t\t\t<td valign=\"top\"><code>'auto'</code></td>\n\t\t\t<td valign=\"top\">Choose a theme.</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\n## Functions\n<table>\n\t<thead>\n\t\t<tr>\n\t\t\t<th rowspan=\"2\" align=\"left\">Function</th>\n\t\t\t<th colspan=\"4\">Arguments</th>\n\t\t\t<th align=\"left\">Return</th>\n\t\t\t<th rowspan=\"2\" align=\"left\">Description</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th align=\"left\">Name</th>\n\t\t\t<th align=\"left\">Type</th>\n\t\t\t<th align=\"left\">Expected</th>\n\t\t\t<th align=\"left\">Default</th>\n\t\t\t<th align=\"left\">Type</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t<tr>\n\t\t\t<td valign=\"top\"><code>create</code></td>\n\t\t\t<td valign=\"top\"></td>\n\t\t\t<td valign=\"top\"></td>\n\t\t\t<td valign=\"top\"></td>\n\t\t\t<td valign=\"top\"></td>\n\t\t\t<td valign=\"top\"><code>void</code></td>\n\t\t\t<td valign=\"top\">Create OpenCanvas.</td>\n\t\t</tr>\n\t</tbody>\n</table>\n","readmeFilename":"README.md"}