{"_id":"@luma.gl/webgl-state-tracker","_rev":"76-8ed498dc503140cde58272abdbc83c87","name":"@luma.gl/webgl-state-tracker","dist-tags":{"beta":"7.4.0-alpha.2","latest":"7.3.2"},"versions":{"7.0.0-alpha.7":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.7","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.7","maintainers":[{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"tsherif","email":"tareksherif@pm.me"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"1chandu","email":"chandu@uber.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"0bdf307b8f407cbffdaf634335cbccc7f5da5ac4","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.7.tgz","fileCount":93,"integrity":"sha512-i8+B63xZ0YzordP+pmmY2BnL7Zt+GOr0yIttXcJhnXU673CdWJjq+LcQnRkDOi5/nhJCTcK5kIjQ/3zUewyKJg==","signatures":[{"sig":"MEYCIQCCNAdyV/jYRaDfnKZaTPnYLe+ekBwiKP9LmDH4VWPgdgIhAL2KoFyG5U2oQ+9R2khAkAlKr9pGamxE1m7Zl2V96Gfl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":359023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYgdZCRA9TVsSAnZWagAAS/0P/Ry2jtoU/cxLyPIB8W2+\ncA/iFDE1GH2buM5RmIfVfq1JOAFi2qhJNbxzXWmGel4mJZw8w8jMjeDTjKKk\n6nDy7C0PDWuHj3CgzydraOSWgtgyrJRqafb0GCVZv5NvprBRIN6sIzj4xACb\n4WgjiKwLAnrtSpAN2QFZX0OR4BtQqPkhr4aDWJf+NmTQgYs6BXXSmm67kj2b\nKjUwo5v9W8mA5ykZsZiSv69H2xneIzgInXc+jLMAgWw94h2X3Kt/56zFS5pn\nlcksO9M/L4H3bvS71z5B4NCa4VE+Y5XnRFlV+ck9j0qzhfp/3Xaf/M459Z9p\nFfleY2N0++8K3oeuJbcMVPm5GdTxJp3YWtmqEHrzvOWsFM9Z38ohu5qT+SQH\nZ/o8Ko1qtwYHS+KYnYTOSM5Hnm/lN5MuuVEZaW4q5axhJpNXtN2BBxvdY5pa\nSYEK2m1XWHIg/QYMC0OAAzGMj6I5ruu/026eJpEFPAhTbtR94fWdelT1cDFH\nmddTnvAhynP5hJqLf9r9rVb7NCVIcRx+G83GwsMhOPdzn1f6mYmYm7n2Z/pK\nhBnsd68Et0NqOnavW8y+bck6lu2fF9aFpmj3ertLkOQUdomQXIRJJv9k6qMm\n/kr2yRfbJNwqBSronRpNYVI6r5npZgU6sQHdZHZYDbYYJSMlq275llVX3KnP\ngbCW\r\n=5iFf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","cover":"../../scripts/test.sh cover","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'","publish-beta":"npm run build && npm run test-fast && npm publish --tag beta","publish-prod":"npm run build && npm run test-fast && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"georgios-uber","email":"georgios@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"6.4.1","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"8.15.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"^7.0.0-alpha.6"},"_hasShrinkwrap":false,"devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.7_1549928280996_0.6320118844711737","host":"s3://npm-registry-packages"}},"7.0.0-alpha.8":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.8","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.8","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"6144438f2ffce526dd3688328b2b407b4db10138","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.8.tgz","fileCount":111,"integrity":"sha512-3i04du3VPbwuA0T/MRdQyPLCTcMNWQBGamgWeKQAKp7bTNrkUymWh7ARfDZEBJVfWP5DEojb2PAwuJtp11zbEw==","signatures":[{"sig":"MEYCIQDDJt2KUjDj44Lz/HiKQLNOxSfZmFFZwQY+wCobKdWNtgIhAJ0rSxhLnxLil9iWIgMoc3iJh7V2YVyCGfYL7nf2nZ2H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":359023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYgd4CRA9TVsSAnZWagAAwMYP/A72TZW4dLVmEeHLnnVV\nBHYXklIilZrM3xGsWKDOqGL3yZUmj+LqezG7FHPJJyvtzy82jIJdlvYf6Wa/\nmLJupALZqkVo7EqA9lujcF7eF117+nLDAyThILVCmJWmZQeqLG9xmrm8tiLW\nQhZWbQcjRM41XpNlrLlkwQF+2prB/y46HL/oSzZa/HNM9Zi1KS45BDQrHJdX\n95E7pPh4AErMhlO7ewJLpD3+wXF0We5sKUdDpi/8fkRptK8RwIX/4sed0Me8\n9t366yzaCBlQ08IFGpvqY8fAHPWtLQDXOp0LTNHwgZGdZz2pprJyWx2rzYSB\ng/gghkZ8BVc3NVWF83JZSMXO8qzMmeoYvP3p2UK3XzgEs0MeMVooi5GxGRcr\n8HHdl1vk2JFSaC7swCfybybkvXkWT1mZ0mfODDuAmSoVN8HznTv5elhHYGps\nHGzCqPGDfVfJgcyvS7yHfEjUU9YwZFVUL/DLxyw8/46uAMamArx1XqumLVQa\nm/JdzvceHmRPv95J6HwzjyPzQKgdkWSkWrXRpbryruXHQzmGjekFQc7o+x6S\nmkh6Ltm7hPt6u2Z8c/5auV20BT2MwsMRa/6+Kldejs1KW4YA2SSpfYY2QgPq\nYLbWU5kfqKRZiAyuae+zxLJk0eYDvtE9xqATnZPNDGly1zf937svljlLnyTI\nQCgg\r\n=/6fn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracking\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracking';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","cover":"../../scripts/test.sh cover","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'","publish-beta":"npm run build && npm run test-fast && npm publish --tag beta","publish-prod":"npm run build && npm run test-fast && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"georgios-uber","email":"georgios@uber.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"^7.0.0-alpha.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.8_1549928311921_0.989175643312372","host":"s3://npm-registry-packages"}},"7.0.0-alpha.11":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.11","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.11","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"fa907b768ed1971c19a591ec94c2e871eccb09bb","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.11.tgz","fileCount":111,"integrity":"sha512-eJI8pTHRISi1dAXWNJjzKLlvtqu9pdteCC3x+6NueM7RS334oBxqDiL5nH2hIDksYVZig3h+hpPBDBxZmqhexw==","signatures":[{"sig":"MEQCIBM5mWYS+xQkipXGKbfQpUYnZiAh7FJWjDEMJ5zq3a9iAiBKbb/N4x5olUP29ChoRx38pK4GxXULujsCvwlA6CWaLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":366187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZKdhCRA9TVsSAnZWagAA0PgP+QHiERfe3gaJDdjML8SN\nP8ul4aw6MuS15ReF5ss/y6c59WQ2c/mgMvfUpINygu3kcxiKdMwDnV4We/cX\nQ/DwaNNL8ZD5JiykG81g2SuWmEbTEdEbC0L1FRMgvlAdlI1MJKMF556pd3I3\nljQCJ+QjDTfvqtpbu+WQkDrKzh56dp92YFASPrQoM7B1as3+vRkcT7wirnmy\nWiBA2cr4Mc86sU1MmSuf2VSfzlIty+ZKKPQomaRvZOTvy8x92YmEeTsv18PO\nJaVMIprShVxNYk0jP4p5BCIRId2zgAMwnkfKjUTaOO1UQcNaSLoGs3NlO8bm\nXoIFc3VKCFboC/FJv2dsVq8kg4h6VPYaUGZg2XnAVVwjSWc+oYkqqj/Kx7zv\ncollrl1U7PaYDO3w+SflZNmfEfrupOMUmlZCf3HDrx4v5UUhIAFD/bAiOnxe\nUxjPubXKShAbLfpBQFDi1AHvVO9BxYxW2SU+AL/JbMAmtxSg63CjKfYRZzGE\nA51VmRGKeoNtShpHcyr01vN/qNYn0N7UpZSgCdxj8emd4c196o4R4p67/Aqx\ny06MpS3AiJY2lvWnTh4YJUSHtGvajVjbxit1o0jw9plJngIVHNuTeF3Txx20\n8DCK5HsVIL64UMtUEGIQwJ6+nnkqXXiGE+HxsZ48Rslm8U5mui2k6oTVEj4Z\na0Fu\r\n=haj/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracking\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracking';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"georgios-uber","email":"georgios@uber.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"^7.0.0-alpha.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.11_1550100321170_0.4110514936198446","host":"s3://npm-registry-packages"}},"7.0.0-alpha.15":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.15","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.15","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"},{"name":"xiaokaiuber","email":"xiaokai@uber.com"}],"dist":{"shasum":"2ebc6a3be9a8f4a495993014361798221cb3747f","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.15.tgz","fileCount":111,"integrity":"sha512-I5Yz/uAkeGoVG0CqbIe02sCvWHuAlJTO05GLsFS8pv/aEddzOazrNPAmQBL7h4X6oKS8I33nJXGOSI97evlVGw==","signatures":[{"sig":"MEQCIG7OdeiUbuOFvSzzrtJAombuAQ2TIIFZT8lN3ck3uE8ZAiBFV/lfANwOxtwi8esIyrCFMsXnbiY/Uy88BLOFrrL2Mg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJch+QhCRA9TVsSAnZWagAA8icP/3hU+g0vzIJVl1T1PJk+\n6KendaJ9i/e2gNdifIHBGx9XF6uwivJcSiKMJgVXxHGsQoHR67jxFtUVeqeW\nYdp3h5BIw0aQEZaW6SWaoCDKTDS/SgHKJgN9V98FdUgLN4uHvk8lzbymf3+7\n4nphAuxu8078AtG4ieh0jpZxnzAhNKh7j5oGmGNfR2Zm+NVYUvly1lgFgCEF\nwIWL8C3mVUWV54+llLR8a66kF91+JqNUN2ORCC1sEQE8VNU+GqywJkV7BhGb\nmTMRKIvyzMngSVhQWVv2XFyWaUAfCF8q85EK6nqqoyYizGXkRDWDiiM9+9BJ\nTlw61M1R2FTpi7dMf7BPbm3oyfjdQIbe9LUHss2wG4jXhK2kaYCPOk22uj8i\nPyEXY8J3/sy3ivVFkPTMUfvbQ+7o33fTYDUdgsmcpwQ2kCDJ26LmNH29s+dh\nMzvfDIApD3wYsffqR2KzqIkan9NQqPKlPJYolaD/uI60GatBqpQWmGmyR+V9\nYVb5g5vPH1LYPo9+UIli53b+YVt+9BCO3csCmmp9JQB040BnqmqzSZ5QLhQX\nseBFkqeE/k3rMHJxaYgqSQFvtmWZYSpEypKq42L+b3DKvIz0mtcFlbebrqJ/\nT7Ng27oYEr4w4hSCVxvteJ95gcgmz7UbrE+sqBrq3kkJCZ0TRsc2I9eWqaPP\nV/1b\r\n=iTEK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracking\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracking';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"pessimistress","email":"cxiaoji@gmail.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"^7.0.0-alpha.15"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.15_1552409632865_0.2972588321912648","host":"s3://npm-registry-packages"}},"7.0.0-alpha.18":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.18","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.18","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"d7009de3215b1f25b867fe9fe915856d4caa1b93","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.18.tgz","fileCount":118,"integrity":"sha512-cMabRzbQIXOkClkA9K/cf9OtiJDhrZYwYs2gP9QEo/wkZHUbYeC9qYCn+FkBXX1SguaFeiyua3Qd1CBAXTJwcQ==","signatures":[{"sig":"MEUCICkT34ColwE3ia59hpXj3e9vOECqnZ7U6Az/4PrRHRtRAiEA+u68f3HlV4u68eBg9HtbKk7A5rBEBafLjUSHLEW9hRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmWyjCRA9TVsSAnZWagAA/FYP/j9Pg4l61GtQdUrZYZZ7\n15MN04G3vFN+2KOTvPmT8AQi5dXGIK6LxaMR/6ATxN11sSBpo9VGqFLyU1p4\nh2hdmShArQrDtG4bC3nMGtQjk6F1DaIlG9zzYmsrfFCOf9MzNbLU4VvdZMrl\nlKDdhFjK3mzWT9+wVqmIRAG3MdhO317MAK3bOWgEm0i2eeRkzD/OPRFOoKmL\nf4wOqVhRQW32xhXNvo2R5Bc/L3aAfAb7NQz3w3+PFTPwhICL1QS/9wWtykMr\nu8vHV9jeZUMAiB4EJJhVW08Si5r+/rYlujrhOYx5+m7/RL1SlBzO2N3/mR+B\nH8SWA7ggV9c/SXM7BAlwdDZTwE2eB2GrrjqMuiFH3AXnJPvLNrtaPInEfOu+\nfGXl1fv6KUafnFbQp5Ab+VYSG1sH2D50bwnn6UUzZkAAVAiVtjC+Ztb2A30X\nwIhkbJFZq4mx40H8fQ11SpL5Fkc2QI0WUoRwUu/UYRlUoaZjXrqGip90FHBH\n8GrcgEamSsCYylDuTeBiJUdSC9DCv8Sn/A1uVVChNI/jZjUr4j5IDUmJzg0R\nP71aEjF439w/I6kOsn6/k02b+TTw+kVd8RNnN13bRd920r6Cmg24dz6cSOHe\nmb0ML6yppzRdChnS2J219YizwUYzTLCvySYfLuYNchIbp95RZsrrDYR1Grhk\nmU1b\r\n=MbGt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"^7.0.0-alpha.18"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.18_1553558690399_0.1120571907370429","host":"s3://npm-registry-packages"}},"7.0.0-alpha.19":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.19","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.19","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"9ec411c47330f2ef64d2156b2332904118554bc0","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.19.tgz","fileCount":118,"integrity":"sha512-SKZJNxlx2QEpAaKOlfrqoSxIFrKbUAumNroIKXXr+qeZzUAhFDd6VB2xhWUPxupnkuopxt0PGnZrhBXHiPDoRA==","signatures":[{"sig":"MEUCIDMeibkJgk8VW+bhQRgk0QwETNxjEmVKrrx2oQ0kfg4xAiEAnY+7S/6PUkeSTca0E10GVo51mGdKNpKxD4z7kHUF27U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcm7gMCRA9TVsSAnZWagAAWOIP/2jzsySMw7mlxBInNNL8\neeq1cUUtgeCBAmpVzuqZ7FRrA8zdZ3VYKl1IGLN9UnfWEuCD592QBO9WitHB\neBeINbJl8nrDLYRgxW2MTcHV7fDXqieULXZbt1H6etC9Mqjpj4FzciuVYqKl\nCttN624dfviU5Ko5BL0Cz3m6SPpKJU+OwtzDCya6SJWETsXEIUEMFVLZuTxn\ndTrGBj4Psql6ehpkxL8SguqOquBInsyewjPvXXQyw29vPCB/c9d7yXVU3kXT\nNz0BIcL29ILuJ0smyMK6CKze92cLSQ8pBH09p7kE9VTQeTXUduS1FrHz5VXA\nKZvzCI406uBm/Jf0ErN8yqmQRw6ufTdznnPF6AqyGN0d+tc7B/rjTygym90l\nRS1fySiK8v7bDkcYL0p0rnoQNhPTDItGzdITv2sFwHsc35U8UJnbBJVOdOvy\nzg5wUnfbD6j4ncpJ3DlXi/3DU0/0Gciyv0rN4+EZKHf0xBmMrRrTj5BT5PMA\nMzwl+e1MQi/UAHQ0fwWiAK3FXwRKN4zHYbOlEO5MY+oxPmt+O3qZ96+CAqOy\nbdkVsH2aFU9trmXcmSYnE/W/pzZSMzCuG35rQFcQnpn5bqNORAV7tSLMn2tT\n1gzYu3NgALOJ+XYUHhhSx8AgynSZ9VqsMhHQdDCgG7hRDY8R9ytoke+i4bXk\n+lM3\r\n=O3i+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"^7.0.0-alpha.19"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.19_1553709067297_0.7410828979805177","host":"s3://npm-registry-packages"}},"7.0.0-alpha.22":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.22","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.22","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"d809a839aae11825a2739428dd8b70aa3f2ce28e","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.22.tgz","fileCount":118,"integrity":"sha512-IRFyFXHLsfn2pPYl6THdBvc/mcwoxyGXRXqM8cw70a+lQXDLpmQQ28FyE23H28AkONwSADgSApWQGRPjDyVIGA==","signatures":[{"sig":"MEYCIQCZHW/D6Pr7/boNJJ2lTL4YamdqT48WH/vD3ns/MtwWKAIhAN+KMOcRFZ7a/1+WNiDRti+FS2aDBoEV/FipdSeQLUk2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcnkO0CRA9TVsSAnZWagAAA6cP/j5jAwNXgA/Z32fwF9XI\niC7veM/+8v9YH7ZBhy74dJ9M1vgLY6VwBArYC4DVxDruMaA8YS/U9J7MeLQc\nmVgIuJApPUpXRRAeGT/nGplXeRNVpNbc2XO7JVAQCQaLGBO2K53aeBZEn3+V\nluRRohN3renE+KmraIXK1IKjbNxcFaRct78NTTaI+6+VXqqSXpLrCj3CT9Z9\nls2848mHNbQ2vCtUkKQq+ehTgeoZTjYXYJLHp2gWPHUpTCE1ixDWlycdYUAr\nRlVqDB/cyUXgPbCMR3cVu+lWhmZtlw4coic3cX9JxFog6dpW95Fo0aYRHDaE\naRLhUB8HCUMDG1w/E3JmpYv3kkmN/CVTifMCzCVFEKa/yITWYiI690gOs86N\nuBhoyfRZcODRt0t0FdLszRS8cKoO4v1ry90zYb2+uXyq9Fslka0sBB90QQGJ\ndxVyTvrLNhxjtUAcoZgoY7EwMYT7pBEV5aMYprPOH4dQasYzv7jOhhVv2xzT\nNYZnlIj3mtu+jL0A4MrFqikZyuHXomY4hZyMH2CNMFj7AchrNm/v5YUopls3\nhoqWCTKOyX1HX2/UWJYthfg99AiIa/k4izaxKJgZihx/RgAfk0cbiSKRFyxw\nFObcDGG5nY2FnCurs+Kau4acrZJbr/MN+/P636zlX5xfizhoaOOWgy0aptmH\n6Sfx\r\n=jtBu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"ibgreen","email":"ib.green.home@gmail.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-alpha.22"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.22_1553875891744_0.10060683174410245","host":"s3://npm-registry-packages"}},"7.0.0-alpha.23":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.23","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.23","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"ed11ffd503005e3b654be74d2b845ba5e013c9f3","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.23.tgz","fileCount":118,"integrity":"sha512-0DLhBfDrv+zNR/bhd3pViazrTwZJkAiHRwa4wkjAtvn1YPJWJinfJH8NnnAkJVsZgWVCDH6hS0APcn6sUyrEOg==","signatures":[{"sig":"MEUCIQCm4qr+ZwX8VXOFxiw8PdVh7Z2cR57mDsEU5QtCt53ViwIgKGKyu3ypY4adaz1aW0lMcmr0TCBzazKxHyNIpZxzaec=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcnqaKCRA9TVsSAnZWagAACPcP/1qipRVb6XJGzM8/n+L0\noDZTVuqeYHfzhThImHrEaenju+gP3hhtEK7xryzK0focqOrr9spUY9yfhb+P\nN5jed3sJ0nijk1nedjlcudb8RfnkC+nsLsSJ0AiLB6s8HxfQCeBDsqiI7qiO\nqx8MC2D/QBMjnW1bFVX6FtDphhRsiMsSeICac52Zu1FKxlrlYHrlmiMCFiRu\nlPGYs5IfoqGi5ghxFyR6O2FaVBkqGmUpZNpfV6uZ2X8j9PCm8PnomRH3dcx5\ndKy7dOJLYy/5aiaFV44Tq2Q4YzUPhn42BUvCNZHwYEAiZbaJuyzIKbchEJA5\nJaJlRrtcqH6ERYs++67TULPv4hVdwmO9+iu9tX2T6BfCMRbYQi0uiB/YPABg\n72duW+Jeho2MSfaZ/kKu4q0m1HHjpVvZw94r7EU5MEmG/ZFLTlTgCZvKph+l\n8E6eq9h3J5YDN0ZZAuckGwtmgvAXYVCX9AL+SGZsZTQgvLDovipgp1LTCY+x\n58Oxq9+XuTnIwDeNCrmsM52+vtruscxSK86+qfPP+vBD3mi+8EXwiBqnw8xP\nU/ySrOYWAhn16z1EVgWN1jhWVEanJM5D69CkZhjK13vTtb4EJJHLoeU9uQ2X\nOzOT/W2oYJp5bzurk54UtPCWMkYS8h2jkfHCtFoSSL/ywptOCDosR1ATRtOT\nK62m\r\n=8GTW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-alpha.23"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.23_1553901193494_0.13283851028999138","host":"s3://npm-registry-packages"}},"7.0.0-alpha.24":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.24","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.24","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"40dd5a8f7c93c21df4c7c511ade4dbed427826e7","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.24.tgz","fileCount":118,"integrity":"sha512-biCM+MPWB/aaZgI8jjbAhQ0sCfjxBk4vYEvJqOoVHn2c1KbFsWUvMMqPIlRmY4uJkf+/iATNK0oF7fNQi259PQ==","signatures":[{"sig":"MEQCIDMt/DbFiDcmQEp9wb92D2YWM2k9XykVUdYtkOO894/YAiBhPVBBZwppIg857zDFZ6cKWJfuil3IcohSAZppLxG3Ig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcnq4NCRA9TVsSAnZWagAAXiIP/jIhk+AwRbJMMvk3fQnI\npIHC2r8CXbAy6oepTxHlNbYLJmldSji5MaKW3XDPoGMOkZzUAC6ALbtsGD5H\nGJnmPkqNnLIHyuUqfqV/U57jQoYeR/xenPXVr1w+p69v7X8cGgwa7XxUOWb1\nlWiuUUX3xqdpp9nyacRp+s6BzmDs5GEkDF/UgU0R6D5beZ1drYT4xboKcs/w\njwDfFsGpwZZgVrqkm4h+JYE9xGd7azOdKlmkTYhhsStkLyLNKxXVJPRxap/B\nhUxNNiWr0XRZE0KCBUZRzEe1jHb0amKyl3DLLXyzCt5f598X0h2ubVF8xlzl\nrF3D341sVskZ/qvRSRZzsOSNMtTi6kaFbAzIDVTjsG1tKBARvzGUZbJtgj5t\nAJggsvmDHuE4jdYQJQMzeHLR3ziAHmwTgPuRn29nO71RM+jB0eUYQrBs8tiH\nNEOQW266gPMs1/vMjzhUQRy8F+nQJbJ0UjPpI7k5SNe4EJIZLJpJ2jFnaZ53\nhWbV7DmIhYuWTGHsXAo/vqGY56VC9bkv8fPrsjr2qsixaouTwTsgmCVOFKv6\nGg/+PJ8ASO22mQHhQQnHH3iXqKZFCZKLM+GHsKAjIMkffhe1uP6OXY+5VUY6\nseYkWg9rSvyQHi0InfS9RTZgz/Gx453OyuHtA/Gxz8thkWluRWXgIWHHV7MD\nlMEG\r\n=lMvH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"ibgreen","email":"ib.green.home@gmail.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-alpha.24"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.24_1553903117100_0.3904492596818365","host":"s3://npm-registry-packages"}},"7.0.0-alpha.25":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-alpha.25","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-alpha.25","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"b4cdf1455c4bd043f55d6f5e6890848e1462168f","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-alpha.25.tgz","fileCount":118,"integrity":"sha512-aOcalHFCLB6+kzqlo/X786j1lqdpbcJFWk7tgEGwJ8Ynx/xpkahxMvB2OQDBSjWdo/uMMt5Slc4K+VmbRBlQHA==","signatures":[{"sig":"MEYCIQDEjpXAbdiGHhMZYo7DZT52CUWNvOesocawNaooQiAC8AIhAKuZMYsr4U/EeMQTAA16IqI0O6SQF7WkGRpZ6iCI0Wx3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcnrMRCRA9TVsSAnZWagAA6+gQAIBJW/iyuRD+5Pw4sq3l\nSJNrFCfjN7HEQ0Mncm9QJlqvpWU9I38l7RqIeLit5SRxFgsvxMFXxkUpIboQ\nBLRBz1vWp1JIxpOlwKYwk/BkZoolfxso7/5TPvb255wYC6IL/rkoU7hFtI3M\n/fMqzwnZOYW3VZDHv+ZXN7nTMyjBmL6PHrKiWcBk2m3sGNzmV5meWsILuHOj\nnXTWQ/4e8cafkZM/zpHrrxGzIsjqhp4BByAEoDZAM3msh34yqKm7vaWdzkeW\n3lvLDbH/gyR9qPrU54rR4WcBdK28FxQuSgZqQ+GQpDAEA8W+WMpyxFgFGBJ0\n7ZXPKeONCAVX++hqfDo/3VEYHJIh6EoITq43QrjwbasTsOY7xbtudNhpa2sP\nP9sGWFJiOuKhmWt4D1sbUlXBb726cLjuCoyBt5Gq+xmSiCnlqo83WwJYGKAT\nmmN5WwEIlto8kuf/3fEiKYi8oc9KIY7YFDMGLbvVBAqbNk0ZzURmCrgGCRzN\nlDKTPr5RpGykTkRu5f6NSx99FycaOna07wDz3EyhRdurHaQ/PMpLoSdxwfYo\nFyZE4bwYGRfcGvzJoQlnHf5ad3UbZ0FMsfipgxwuFIjRtcmnoTyC566i9YOG\nWYkqfYbneL2tvkAY/+ss4GkaYWrTEDfCP6NpVJfABYlT17v5YiOIQMpWKQ5i\nXPqQ\r\n=kUlo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-alpha.25"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-alpha.25_1553904400746_0.9300146546441139","host":"s3://npm-registry-packages"}},"7.0.0-beta.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"4b95906376c09c4a36d7bf7411d9d3a549dbef59","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.1.tgz","fileCount":118,"integrity":"sha512-QJTGmwHKd+yle6Asm327te9lRMnVEUuztQF6FVwymNK1yXNWZxv3wq6lPvEboRZgKGvkfh+uPQjoaYN4BluJfw==","signatures":[{"sig":"MEQCICNC7mWSfn4EeFUc6o29y2pIwbrFfjB8Aq0uljt14LSHAiBtZ6IOTc7tiP6mL8GWCmk+qYXtNIoOPkhR+Adr6u/WQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcolsHCRA9TVsSAnZWagAAcCEQAKRoMRWe4/W+d+RNBYPK\nrnxQa5DoHi6pwZ15xWmSNWCxxVhtHK1XNsS7N/B8NTt0WGIsMkxrHGLGbFSy\nY21aR0rbumTmlLvPuP1Ktd05E27YjTHgD1AJAGVAZLQ8oFR/IJ7doVGlKsBP\nkpTEuH4SatK1Q8RO0hUzAporBv/6QqHUgrn+BCg9xMQ6WaBQynX3UjjKKXPs\n12gtl2XFuNWwzWkzXVSIVA8IF6Xb66xJfwKUgApKJcB5RNh1chK9YYnN4WYM\nF1yBeQIEpqnxXFXZTfIgoR2yAzGx1HRezW1vvPq/IYVrGjFiFZUXeSzOm3kD\ntB/Zvxoj1Jkpth0t15p6oKMZl0uEigXO+RkJqnGoLg+QKliAJ7Wxv++6TKtb\nL37HaK6GLavfSpVorGq8jpGqZd99tBTxch3dSrKsqSsZVLSzZrd8R3w4jHxN\nnQwI0cL7KIiESdMu6Wq3QOhWBgxCuUPUVFDKltoxSCxueBY0eQtJYHMDgC1O\nzgdeZwKB10Mqv0T84t7xD6Qy/nFMiAp97t0yzidY3FaPoVydfvlko6B7CJ+4\nW7nu7NwqnlC6E/7UHWTR520DiRQDO/IQgzYbA7esFW31wqjKraVYYwTU0P9/\nfjxWKHXgtyS5espkrd6nCRkjpeL/nK6XsHdCF3sRum8rbDhoPYU/EUKQOXoX\nL2dJ\r\n=/h0G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","browser":{"gl":false,"gl/wrap":false},"scripts":{"build":"npm run clean && npm run build-es6 && npm run build-esm && npm run build-es5","clean":"rm -fr dist dist-es6 && mkdir -p dist/es5 dist/esm dist/es6","build-es5":"BABEL_ENV=es5 babel src --config-file ../../babel.config.js --out-dir dist/es5 --source-maps --ignore 'node_modules/'","build-es6":"BABEL_ENV=es6 babel src --config-file ../../babel.config.js --out-dir dist/es6 --source-maps --ignore 'node_modules/'","build-esm":"BABEL_ENV=esm babel src --config-file ../../babel.config.js --out-dir dist/esm --source-maps --ignore 'node_modules/'"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"probe.gl":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.1_1554144006494_0.6402631493029127","host":"s3://npm-registry-packages"}},"7.0.0-beta.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"d61c967c2c32976bade014aa45684abd4a8fb727","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.2.tgz","fileCount":118,"integrity":"sha512-5zPTVLgj1RvQAmVT4dMw5wqei0AuXSRhatF9agn6KC0lSO2Dd9mG3ZG5R2PMHOwWD1W/IE8oOOcuoUMkeABxbw==","signatures":[{"sig":"MEYCIQDZUVdWOZksrULdDTPiGdBEW3sPbpT0xmuI9PzYbM8eeQIhAPk4cEVoWLrt2FdPyclwuuUt3h4WDPnEYUbO3PqJWPOz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJco7uqCRA9TVsSAnZWagAAIF0P/jSXUktGa+BCoJDauCxQ\nO9mHa75ukK8u6Ut+SviqxGJ3myC0AXpab9+qLAtRtpQtjJaaRBuonVPqoQg2\nRZ7qNeIxL6v6/ZqNiIonDOwt3hTrIsK9vgjbdCRrErWduxK2MXFF4hj32YJ5\nCroV209/4epq7ux6jhgrvABKC6XsC2Z7BSUAYGdS0cnRyTJktm0qNR4yDeij\nE0cz84X1mm4l1wXHw5J2dE5LF29IPnaJVuAGk6PmluoM4hJBzL9FRKNuTLNq\nC15DfymdYQi7kaUXltk1TJUSW2zSteErUmpbEORrqSgCReP6xZ+7nSWnGsFt\ns+R3bTusfbGkruxIZiSXmLiAYanOETjR2mnKNera3Q96o92G7hTPXkbHW6et\n40jjUJ1WfE3soJH0gzrLTKqnbMH0cwdcVskwsANb1NX2F4y22i0oOSIMCCBU\ne0ux1vuhtoD/uaYt+O5XyoVtfKG7L9vFn3MWu3D7Lab/U7CREkuilQyk2cUd\ny+Niwx9iY4jGE4+Hv1XMqomsXxtiK2XhfDJ6LpbxBPvTQyOrM4Eca92eWUqx\nwuy7dAG0IHjlNGWT3P7dKpwqu1kHLU3rT1PluRWGtdkNr1wJlOrrThehvxdD\nS2tKNC3Rpu6rXd1rnc26RnRBKwzy9ZV1G45iywdUW5BXWQd9p4RFEgsP3EtR\nqt0U\r\n=mvUi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{},"_npmUser":{"name":"pessimistress","email":"cxiaoji@gmail.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.2_1554234281471_0.9641393715709015","host":"s3://npm-registry-packages"}},"7.0.0-beta.3":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.3","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.3","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"0a4b3d8d50d9f9651ec8fd9020f7f4ab187e5c48","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.3.tgz","fileCount":118,"integrity":"sha512-hlvK21TkzkShmwsJnRT48f1tBmksYydfQeS7ciTWH5EGF1HNI1PU00ioBLqBo2KhDsimn9HzWAyu4Qin5JjD3Q==","signatures":[{"sig":"MEQCIEybLoH0O0ojsPDyqykYGXiHCEJaE8R7FAmNeSal7ZljAiAb7x2/P9Em+WyG0q0AYgwAdHWW1lM6zMZVPgblOquzgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJco81rCRA9TVsSAnZWagAAe78QAIowducFPqP/NcUourvS\nq1dvrnndaKpEh86/pFWaRSjzj/S/3EWR6+/PdD0yjjbPBReney2T7u9jHnS2\nBtNeRK747kxcptkepi8uLShd60BRdRaIrIarl9u/5TfSrCe2GIgolONzvZmL\nG4LeXCDLoSF90nW9gIW9W+R1DdT+OYZWdFtpPHClghNYNKvMvCaBEfUmop6z\n1us5yFQwADmQPES4sjpzEsyS2Kt4uN+qK3JcyOVU66jb2HGnx7J4Pp1DD9Hw\nWCic3MMGLFPjJnWBWwWEN/NDQHNo598KgNuT693qzG9Ce7Mjo8oAuv1y7fb/\nU12gZC/dCH+B8M9d2fQ79NwWCV5U+cEtUQ1Ug7DxrekVyr7GX3mz62GuutUI\nDA6tJqdvatjAWQ00c2OVewZ+fyjjywcCbTPFHsn3hEaba6xqqPKYilqVh7Pu\n4WrArPsD1vyQe2WtM4uafFhZHHSDxJRdZEDiN7zxbTOwGd0hK/7f+xxjbxbM\ncU8yPgX0rpU/CLZ/H6A4qDj9y69x6H644FCbJlInAvVnVkT5gBUS7hIgeOBp\n0vfZfEkQjSur+xOzPgvWNXzleEykhGtj8unbNVzh2EHcJPiKiiucB3UfD4jE\nCiv4GJQDZNPRo7gTGFLVke5Z0E9UoJ27J8IZGToaazQBXk/iUDwrz9nBxV0y\na0sv\r\n=eaKg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{},"_npmUser":{"name":"pessimistress","email":"cxiaoji@gmail.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.3_1554238827196_0.46704148460438466","host":"s3://npm-registry-packages"}},"7.0.0-beta.4":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.4","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.4","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"0082888d65916ce08d1e87330a32c43128d2c4de","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.4.tgz","fileCount":118,"integrity":"sha512-z1ObXsUxQoWlG1yQtENq8sVXQJ5ZWD9K2s154Eq56TSvuw713eBth37bQdOld3UpV3YReZsNj+46ZPOHGttpAQ==","signatures":[{"sig":"MEQCIBoVy4kpNjOFN3DShnbB+L0UO2wyoI83/LsTnXUgdltOAiBF49tIhCim/88Cby89K2wm5SqSEnBfe4hs6Ucr2ggjtA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpS5lCRA9TVsSAnZWagAAwcgP/jheyQQM7tAQo9Yxmd72\nATEot4RCtB2lsvCVs3U9IX9tmF4hAqB4dgd3scCYg7K82TnwSwqPUUPyzVad\ngkcH6k4EDoGxoM9N54xHU0mMJjMHesOhuU5GlD/ePq+JzA2GMZ+yYZNoihSw\nD1ydmPHuyCT6Cw/1H3E25AIFAK2tw5pDmGzWmKenYlUs8BqHKPwy7JeGDuFo\n8n8rSW0cjIVUojzUjJaky16wkagjxR5ZyvSEwurGrq/kDUQhihk7Lq94I584\nlWK5bYHB40bOxzyTR/fbtuaqV5t/ZQBeiGrRX55ugeInm4SxnjrS3NjuTSq3\ng867dXYbySyN7yANPr4HoCvARdbqW+DRJRIHmqRE1OlKyWwOuA75u5As77Pu\nbgkjgD9rr6eQxl9cimYVTCrybJvJnnyiuMr4tU8TF5CuN6t9MA4Gah2TxkFD\n1ejaw78g9QLQYPU/bXu21UHjSjLDU1D2UNJdVB6Yfl3raWrkUwPMApR19KL+\nWGy0WVaslZnqa2I+h6Id/9n5Ew+I6Ho8ZUgYorcWIhhznOmDJOzRIUdc730d\nVZBFUbbNOfOlAnpZc7/45bPxlwge6Kzo9j/9xI/yKAFnbNzdiTBE2yDiXZDd\nTiY3mIybD5iTF/VBJ2jkOabvt/4zVG7d++WUn5rQfi0C70yHt8qXoyobIVfT\nikGk\r\n=3Oaa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.4_1554329188781_0.6537072211812722","host":"s3://npm-registry-packages"}},"7.0.0-beta.5":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.5","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.5","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"ac3fe789634b74e1750ab36ca9eb18a6fa5b0067","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.5.tgz","fileCount":118,"integrity":"sha512-CRmISBEsz7KaanibVRcuMazGmaSw13QMU37GTvwzqd8me0379Tm0fWF3mkBMx4ettL5c4MfkktT815Mtc16FSA==","signatures":[{"sig":"MEYCIQDKeOzLPp6lb5exL4Sfxrn4ysNSP3kMxbu40LeWhpx/ZwIhAP5j6de7aCGw4XyqKDxbWIHO2waP0jzUy0XeiNe7/bzV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpn10CRA9TVsSAnZWagAAF2MP/2kWUhn1zkgekfgxw6aV\nHrcdnTdA8y65wmx86LeOfVcTS7aejFhdpCsdZ8nKYR8KL/pHt2auULQ3Axd0\nhz8HFLOUR8lZi5IMRitudh6gvV5a13LtF9Vp+2yKLUys5uXxbb4v7OILrAgj\nuuQpqyNs8f/Nv9Ffb7udCnuGTVQxhyTgFjLxHThpCScBrVKQadD/ESxO/mhH\n6GWX4OMEEHtQuPNhWgPIKBhLzZBV2rptFXL7lKOZ5YVhkxXf4CsnI2k6+LdQ\nD8qKTux4Wm01TYOvlA8Ycn8cHldOjPYI4vD8jezOx6HVxcZpGdwxRsjGeMLI\n5gHVVb+RcZcUaOtPzrNn535txim5I2hVLcmsMBwDcJccGCNT9saodSnqv5Uh\nC7pCWUYbGEGJY8EsGg5PXfcmX7ngaKqQZ0OIuFZC9rrd8UDLtpGRRl+3KAvH\nLGAFdiepDXGoUQbdOfdYnG6+/eIz5lmiuRNEVwjZE4j1/mu4/2XuwaSbeKvl\nd+AP9KuvfWktFJ395tXf6P9uD4q9sYQOCMcls7pGLcquEu/NzKk8zJDVSZ+1\n+d3VMz+FRAhf1VdjsklTwiNdsxr1KQVHS2vkF6D6CCAmV9t3xr8+5jkKMgCB\n//WzHb+yxNXhBMjBc9KPddYuMHZXz6rlqeNXlwVyEdrdAw1M0qzJaI1kawPQ\nVPn+\r\n=Cwml\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.5_1554414964128_0.7301720360287896","host":"s3://npm-registry-packages"}},"7.0.0-beta.6":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.6","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.6","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"76114fa4d7446b794544a9053e756767e689a7fc","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.6.tgz","fileCount":118,"integrity":"sha512-uAAIlQ0FBCMgFADfFjQX64BUhcDBRnCuNRT3UOayP1KK8rxk5gXPX0Z2LHDz3i8NYYBqT8+krPubHYdfjX7D/g==","signatures":[{"sig":"MEYCIQCI4r0VcKg6/j71AmRgSV1V+yftCmW8DX0uURmNKY5MyAIhAKDKxf/cUYOXRSNJadR0N9EpBZQUyLdBONihFUBlqLNF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcp6hcCRA9TVsSAnZWagAAmEsP/Avg9LpiD/lcbeTaXL8O\n1UE/qsH1F4XVqVtkn9F5aHuIYjGELhuk6p52Hy1TFlc5yMC9Ay7qp2YIZ+3M\nRs/mB6kfnO4EGb0qF0Zr9NCY+LLoBN3kM0kHR/LseW1jSiidqgTXATPAEhND\nFLTQ2JPuzQOF2R4cxiO7YjSECKLkdRYtqZp4HHMCnlfWz9CbLXyFrgnyRUI1\nHtnygpf/4jru5jqcyeG7DpK/6m2nG2KbUUxcFyYh0Ajcsph2/SSfiox9t/JT\ni2otxp4Mln6vWEbGGRcOaCvst3Tb12hrlm5qKV/bGTKeOygZkfxrjrC6NJDQ\nXtNRQHer3/24htE+ehbImhS0oz6hAWrBGnf0Drp6My0vmPuaCya/XU/EDaSm\nTkXPYADQ6qt2+N5XlTqpmp711D0Ioe9M8NGRHwD/q4eyTYkQOZVXiBf1N7nG\nLKbNCzQnRgvXoNak/pFuSj24jBCLtE8pN83LG5oCNDfNWre2+6XY42TTFFSL\nRbl7j/L8Wxzcr/3UhJnUk3WAo3OlH+ztU6bTFHbjxJAwRdtfZNHBBSRw12GZ\nEhMbynl6xq+4zZ/fAjMw/kbizM75PN6QUr8pzt+sU5r53s/9jaKMYTx19GRH\niDLJHOWKFDALfYT2XSTdEGEUXaLRnCtb1t4afaCtXXgrZqsspkoTwus9Df0O\ndZoa\r\n=UsqM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.6_1554491483353_0.5196367373610795","host":"s3://npm-registry-packages"}},"7.0.0-beta.7":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.7","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.7","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"0a7daeaae2f7f53e6c99122a56d2c772cd3946a1","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.7.tgz","fileCount":118,"integrity":"sha512-nFtUPzqMeAfPeejORYdjQq9lgakJZP3PFNWs1CGiBHD4v2fKxRFYMwfq0oz3KHcvJg1KHMCSFfmbvfcjAED3nQ==","signatures":[{"sig":"MEYCIQCsWgpJ7P+Tyj/nyI/zWqIkNWTPBzLafs6SRBGlV/WdOAIhANHgMDzvseSrCevv2wQP5LP4qP33HQrdNiNcXViyRP2+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcriBZCRA9TVsSAnZWagAAXuEP/1f2bbjKdcPmM5cGCHdP\nGBwwFTOmQEV8GcKFV1m6FCAynmVhNUMZkMHaW9LtOx4e8AaBGP/+DWdnEQuv\nwe+BVlmX1VztIcxX5NHWzg2pVBw5S+gfRcw0vl/e8TGYX0+ilmFFDDf+SLGg\nfcxJw1K+UHfawK0LKT/Oy5WiWx8tg8vsp63cxphTL8+TfgmrxibdgTozIbRc\n1cncQKpZ6f38rOQt0bl4kymYTamF2DylficJ1RtbWprzBzZhjclZUhtKYcVF\npkLk2r+blmZHxwG34Q1S7+9lGrDTzz7buglqinifWV+iHx+6XUQkZyIfkXHU\nwnX6UUuv+ciUJ+ExRPlhnQNpwP69JOTfiFky9BC1GU7hSKmTkzR6mdQV6nLd\n8nsI0PkoooOqo/9yK1n4hPLQAwqTt8c80NFP4Sakpcdu+bap6r9v4YuMCylT\nUfRRRzcEk9kYuSklQ5D9sTIu2FlJdw1OsEMX0IlJx35A9FT5CQIfpMshrLUv\ncXxdGDlwrRvXruuVxscpfVDj0iVC5E+1m+//4cKvDKca/pHrgz0iYQMMeNxn\nD/4qJf/4/Fvi26h7MAQM/kmoJT0ksX9R/aKg57EdSeKMsDZl7BHgS3ljy3kW\n+xXGlUTPiOvkaOinZIZdkkOWJ9s9DsPFsH9jWM3eh56+tRcfd1EUcwJdPLY/\nkMNx\r\n=alqk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.7_1554915417077_0.08151488510868687","host":"s3://npm-registry-packages"}},"7.0.0-beta.8":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.8","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.8","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"6a6389384bc9b8da43059407fc45bf3c9be1c60f","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.8.tgz","fileCount":118,"integrity":"sha512-sWylqY6a4TbfqJqINJlChJXnlISKuMdybV2jbkO+cCbnS1ZtgPX+5RrJbOZeJczHTc0P59ES9Grd8TEE3O4Hww==","signatures":[{"sig":"MEUCIQCT8+y+efkDiy/MotKTEwnORO9kyvjGK17E+jKXK437fQIgOaSwxtkcw5Y6N6sG6DOgmqq/0XzwjDh3t+MghW+0vHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcr7KkCRA9TVsSAnZWagAA1/sP/0uJ34uaVjdq7oGJV5as\nJmtlDJ6vcVnp4WvwEeeLTMkhq/qvVqTodSKe0oa6gH2MqYDjBD84yLNR95ZD\nTxn1pvl4dGiz039ytX68OGC0WrRl26LmUUMSdhDOE1mGe2kwC0JGN13TDBH6\nljuNy0hg3pV860W2Rmovo1KRVcv5BOpMACqhI/KZX81rfFQZHunP4X+62L0L\n5VxcQAdIoht85gbyAftAvUPoTo+cfMpe//S//SpNudR8xU/zbLA2SZlQ2JSk\nUY/MsKE8s7gRS8xUS0yLXhTrp0ghujhU+6K2GZRJ0c3+7ppTm+2eTya+MOla\nXZ6VGJTdVXaeO4hrX0dybit2lJC2789kpu2MwirKAYq56QH54IQVxAAxrpcI\ndooDAJCDqm1nw2F2rq7Gkpag33Iml7mnvnQcg4/uH0MLYn+A4uBSkSJ/UKcx\nA8p4iyrKzzjzjmErpQi4PBkGv/BUCcsoPxB/HlFj7GeFNr7rh9HUtmrHIyf0\nBwLAiCvdgm1se5U+Sk7hfbY6oFdzvNr3EO6hdkNj3ledeJ+X++Up+c3kPKFV\n6MBacXyiVSnpbWPTs5O23eVt4OlC+Dj7UZUVD0q/evr3vSEskeIgf/HHM+yW\nzi1NDeUHPeL7gPYle5tm8YnW9AbZ4f0dCZpidU6VXw/63ZAETUUgIhvaa0SV\ne5+8\r\n=nk+p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.8_1555018403824_0.6243753133659962","host":"s3://npm-registry-packages"}},"7.0.0-beta.9":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-beta.9","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-beta.9","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"ef775736d141e24a80467634e84c14c4c9a5b634","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-beta.9.tgz","fileCount":118,"integrity":"sha512-BPTs6M/KaEqZfZX6/7eGICbF2cXGqNxgMviJlm3ric8jPSna9U6oEXr3s9lWp1CE6XZ/e4QVieSjg5d5H2aFqA==","signatures":[{"sig":"MEQCIFQVrnqZL/45VBhaDx1R5U6wnQHefTDIVxy3uzybpE7zAiBVjCWPqNdB+JK8hM9xoVq9btSSGWDaFcXPxARsLudZiw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsQW7CRA9TVsSAnZWagAAaTwP/A/dSm9Vbitu+vpzlURc\nW7FHc9wTN2uYJGY4IiX74De0EbS+P9wPnAk7Wlds9ukT1KbKOS43tl0KIodx\nbDbRrcnQ8GchyPv71nHeet2xabY78fNmFVnw5InX7lKWsR0oiLK8k/JaAQ1b\n9VhTcBkJTQ69FyXUILyhEOenbKK3+5zgawr0F5VR0AtUDo+KzJpfW0EUHsQy\nVDHEMv/ziERpeQrJYO+HDAKXhcNQfEHhfM0IJBrQeEbJ5wd4Hv2MJticiFyw\nQuRD5GH6NV1bYHsrjphB45ipvMSQu149Je+4cydpwdg7AWgEQJw9n7Z3FhSA\nCQa0zJeOvhsIGre9wEf4q8L+WFU3kbVBT2+yYYHGPqxPlYBzHZf6z7ppVOO7\n/Drd7QzLHT2xGYeadOf2F1VxTdOoxmOuHC99psCl0mKIxz9t2uDmuu4DgYRp\naLLMAZtGIm3Ctv4BdYUHOqncFnhQIoOOYkwIHRlZ9zAr6CfmEqp8nK+a3yuk\nb6e6j5cL4ZcaHCJoFzHQ4xjWTsc2nSPgm/y9qQVCA8jJvJIefN8YTZ1Ox6qB\nSH5y7C4D+WqmeFAbd0WOVs92EPsRwBAOtYZwk/ud29vlmwm4wUZXOtyLTetj\nPsWdrcQsBB0ZUqxtfciMmO3GpdWWs/Ncalme17fgIp+0vmXF1PeWfhZmq5Z6\nyCqF\r\n=yqlL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-beta.9"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-beta.9_1555105210891_0.8158248390488643","host":"s3://npm-registry-packages"}},"7.0.0-rc.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-rc.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-rc.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"99b4dacb76e2829811fbb58269339e35692699cd","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-rc.1.tgz","fileCount":127,"integrity":"sha512-6ETdIt5RTSKZwS3U45C1K+V2b2FmYj+JqZ2M2iGhfl2gV/Ui+4Ul7paVl1v2lX6h8Ket3+DKAXKf+ZxckKDxAA==","signatures":[{"sig":"MEYCIQCTcvvfl6mBbPXvjbaMqFhe27QxD6wy6uocYYCArKlKXQIhAIICf3QOc+0x5wf68gegQ8BDfqK7exALfL9Qp+fSuBik","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcs58ECRA9TVsSAnZWagAA/y8P/2zwWx3zH3cznsFZZBQg\nUD/wvexdkzHF0bmdV3CHHpnFkrcvzZ58FpBYjvhaITs51wE/HuxNbRnnnN01\nhgFF/LH/gF9oC7YS/Azj/PzfFW0KjvkCsqU4rjw/PvSbLLTmfzyMS8QLO9Wq\nCX6V1vCRGU7JUtTVxRtVIMgXzzXzvyGbNHE9czebvwDEPxpTDGfUCTBfPg+d\nYggic9MTM8NJ8wVFDEKsXTtmMoSFTY8SmVSdjxrx9v3L08ezMt1eqiahpRYK\n4bB6cd3UQ9aoQD4qKihzKnxh0WzJ/WScESfqX985dAo3hSXe6lXzCubNBhoq\nvrQSCknHTEf67e7c5XR1nGHusUVvYY4+j7M/nNzSMq5im30gPIY7nIOyXSem\nFfUya0tdsBdJwbstEyVnYCjtdYRLXnprMKYVUpmU01HOP5WGdl/I1hnZ2GPn\n0mJCfOLiQmGRFVvtobQg5d4CwOae5V/+nUN95lMMzj+cmCv8KcZ8Q8ZitVnM\nXGjoUnrisO6nnQ7apqBTSmexPvB9fHJVtnQPZmuVCi0bxw5SapEa9rl+EcZ5\nhG9cocYfiQBqf/DBiFKDa82W2vdNQVYx2Q5B+WxzYQD/+eja0V8/tyxXFybl\ncTU5ysMJM7pleVKBfXJe+qBtHRWLAaSPcW67Mwz0+10cpPyPoSyVx+EUwcVi\nxJ84\r\n=phcG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"ibgreen","email":"ib.green.home@gmail.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-rc.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-rc.1_1555275523992_0.011982430867764515","host":"s3://npm-registry-packages"}},"7.0.0-rc.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-rc.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-rc.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"46065234506e0e9fec8bec06764b94201d70fc97","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-rc.2.tgz","fileCount":127,"integrity":"sha512-ZcS1SdjNCVvr2rIOpddAvfJkSU2gqWIxptD/t/H4xR5RMMkECbFBR31+iiu4zpHFm1iZW25vqSMOWnUajhd2Sg==","signatures":[{"sig":"MEUCIBSnOXZp2qhacpgwSp0mHEpsaAhFCn64Xp3jMxI0OXD+AiEAqWYixnGty38d1r9hIRNe7Fr/TIPzisn3OHygvGdnCJ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctiYUCRA9TVsSAnZWagAAeOoP/3Gh4q/X3321uwm2JYdn\n+6PPMxBa0kY28pZbvURT9JqnOcvboctipdwG9LhUMHYieC+Sq1JQ8cXM9AQJ\nJGMPbYvZyItfAjT0oQrxNm0s6x/lGHftRxiAmXC3dcSapAyDw3XeTw+HNvf5\nZCnQ8YXWi/rAv5MdFIAkPV/2vW/Yb4S8NOzkSJ6lGjYx5tsxQjle5CAd0cSz\nExcQOIm/tNHRqfnVyS3Het350tPJPYJk/u58H92vL7QlfRw1tg4gsysF3sAq\njrrc/Rv2AT728jFT6H06OTgZsdkVKso0hnH0x/90Gfk5FL76LTgHI3hxfYsQ\nG/kNA0HUh6S7d7HUaRX2VK3kMgdHx+rtbeER0DjUcFd/3BqY9/t3F0SfbDL1\nLEXFRDlQuE3S6ceFKeQpq5Ph89M48YsXnqzJQB0Lu06N7qWqYHbxrDxCQgAP\nG4ZAVMmnclYSmRuIz+aF+F1Eu2RNXUfNwg6U+1tcNDPogRBhnTnnzkd4zICO\nQC+4oTIUMqGh+kVwB4auVeYmTExtsJaofThz/tt6RLXY73EvtAowURPaonFe\nSPixzARYR8iK2Uk0ZzTFg65kMrOpF4TKBzbCpBrKkrBAjgj+L9FF2OwrlLNU\na+WbvwK/2xBAEC+OeXxSEqbY7GtzY2YplSCnwY8c8PGsQ7LkSqJLc7OtD8RL\nEzSc\r\n=AiHU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-rc.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-rc.2_1555441171966_0.574845068532654","host":"s3://npm-registry-packages"}},"7.0.0-rc.3":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0-rc.3","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0-rc.3","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"77c7cf08d91907ed7379468843b979ee35eaa485","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0-rc.3.tgz","fileCount":127,"integrity":"sha512-J8NMqa6+8tbz+h+WvlLoQleWdUDVofCbizxqJLstoHyO+YvLwKh2m66tt8F9mL7J3Rg/mY97Vyj+UZZaK0/38Q==","signatures":[{"sig":"MEUCIQCDQ3Ez2d9lAwDGFRGKXToFQICwizRPHo/Yw5WtbxFHEAIgWVBHg0xPzkIZKEl5KmfGZ97VlbS9R9MOFqC7A+fXgl0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctijYCRA9TVsSAnZWagAAlX0P/iqwlM/bApdDHUFG7IpO\nOfTkbyXp85HBdGRBloW7nbD2ym5xPZ7EqjMSTBmopd8ofuaL+YDUkTrhcb7O\n7m8JLsGJEP6Sg2WOWHrZPjCDvfBkTLPmZDciuJ8dkmo3ATlKaUSYiM5HZbkM\nTUWuukob05ppnSlNozAwVU0hu4lqPUcRWUZTpCFaz6zK2ye7s4T69h9EaJ56\n46BV/HqmwuqXtf4L0fSIhIHL1l3CF9JqCbWVDGM+2CMp/wjDAtmjbPNF3hnf\n10gWtRe13oUCc15g4MTINY5JAYhynnKXs+9uyCa70RQqoAZr926JgowHc2I8\ngkCk8t/CGYs9QvywRZYASPP5Ak9o6cMphwA5hBADO780zSZ4AonLBuy4zPHV\njn152zmf+z1ZU1cLhH6co2Vuhg2dR2ErWvDKT24iPDLcADLerElOPKaSdHwq\nHKGQXiOyq14VJBOzP8RMd1flbMkAKHw+E8OfdzLEeHQZd3Eu5uxCgH5IlCJm\n0VxZwUm80xtJwRUt66RJoxNdU4OJrX8a+OUMEXFnf1ORw6qO6lvqD3haTOzu\nVKGdEAoWrM+1aGDbXioxXzM/30WLxd55x7vtjJH6xBlU2trWrd4ptg5nyZZ0\nVBXtYplPsPnCAYt2qn87h7xiCzE57E3sZ/RqWiQ0thNmGaVIkJHyfA1kNbCC\noW5V\r\n=Hu+W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0-rc.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0-rc.3_1555441879279_0.9607986295626649","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.0","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.0","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"0002e42839982c6ff5f31722a8b92fd9f3e7b563","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.0.tgz","fileCount":127,"integrity":"sha512-BRIqWRIJatF1Xq+e3Q+7qrY/gJs7FZJU1Ccofp51nKisH3MtrCNuLqv2+iRZgp1wbLBISoym5wl/3Izao0ytcQ==","signatures":[{"sig":"MEMCH3V3lfjEF+fLRS+Hv9hZmKmT2sqVdT9SPVe1zdGHHM4CICBqmmX/M5ccMC9L0jrxaqWnHAELAor9YtzaCk8G2L/u","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcujETCRA9TVsSAnZWagAA3DwP/R6Pw+H6P65zOXVTAGPP\nVDqQxSzl0iWGcAiSXAJZx9HJIneFrCcQwG/ivK92tMET8hiNlppuIB9Bjw6l\n731sNhMUMW6a8X7E31EawTsXxDYqTfahr8SiXz2+n5YR8EadzdnnxlobaQZp\n6bAm+f3MPTDhvn6j+4vldrmzZhq4ItlYQw11f5DZuvkqfr64UGXWaHZw2aD4\nkRUjbEnbUHd5wxsyrSxl2T4cNGS1aV6L38Q3dcFBmspr30kqPkS1HqfwKf8N\nsGaJUKYqmgTAV49UPm7QqFm/zgxPtvaQoM+34NSa1//h7Wl4IB4ekO+luL38\nkKvF1xwQLGbuYtn4W6DhSkfvf91KuoYNzWazTFFGDEb0CnrLU7QRAYkVMB51\n12c83kboBogW2PSwX5r3uMwUTxm5rtOpk2HpRBQ8RbhNIf1EiSO4BMP/dqYU\nRPn8bIuiWQwFNAogkJ5yySvX1SG7SSBknz3he3ErFCHcMufkaKcqKPAerg/G\noGPxysvmmhwytg+4awVUdwQtzemLhHnK+ODQu/VWnXGqthtlu0k6hNaf5mEo\nvf1/MfixjG5Pofm3vxT5F1ybxOQZM9Rlk4Zu7XdA4BBBueNJhCDOTfUpNKhw\nag9j3lrXpF14ypwNpiPdMJ+Rw6thVBATzksdasSulNpIBZABGHfgKNeK6bEG\nzfZP\r\n=+XBw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.0_1555706131211_0.9497835804009251","host":"s3://npm-registry-packages"}},"7.0.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"e4ef9ea7c1fe400f67ca8261cc2d2241d63dc3d9","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.1.tgz","fileCount":127,"integrity":"sha512-8qodNuxbMQk+L6hSEtA9hDrdr541s24UcF6sGyjGIynh10BiFNO7oltdXw+I07mFQ4GL8uYng5+O2Cvc/lyQnA==","signatures":[{"sig":"MEQCIEBpcXoHyYuILhbIEM75CdKxMvK522xDr9tECYrosTcBAiA8AZE/IPbhTxetYWm+937Ba7oWPaZ6Y4h+Tcj5z1KK+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyJj8CRA9TVsSAnZWagAALGsP/jdEr41H64eLjpb1vUuU\neQgtvm7PWK/M5e37J/V0gpaJoSx07ur402NfrJtgkrcikmxphol2cYCcR/TM\nv2NiRtmvfI0a1R/DENTvSDD/t9jad0bjOV0lvjRkOj8Onn3wue5J9FuA0oT8\nCrmQklUpT5w7so2y3x2XM098ulH5WQ/TU32DCn/AWJrdorZ2WZP4A2tqeuTo\nTsB5nmyBrn3sxD7vY0UnXpWWs9oy3Sqp22+LMpb2I2+yB65x6UFyP1bTzv6k\n8IeYuiWNHa2CDCiWqG0xAZc9WfrncakINLLTjWO2EVWvNvRX90a46e759icM\n833rfZ5x+b9IeZc8L7cBTMuULCR2hr3oyAFPxFZzCTiPPBObeIp5Op2Q3y1T\n3+YV73IGZFsMBlRF/UXjNIbSjw5hNvkudJ1Wl9QuN4bxRlEuO69ye3XvbuyQ\nhEE8cnqkkz4HtwAKeTIDEGFKwFbWOSzIhQn5WPl+82LBgq7CaqKWovvFR4Y3\nv68Orlz9n7JFJe/f0G7SUpH8h6G+x/no++RCrqsggLApE3doW0cAeTszrLHC\npv3dRYDABQ3ydKHmVlB2f3miaPiRIW2m/bVWcKvcKQLHROBZnkijCBYmLD02\nmfMAgiXtFHwITeVCFnFK/DI1/tnCxZArwBRw7NelhzkBXDa0UcibQbT+Pkfk\nEWr/\r\n=XUj6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.1_1556650234913_0.7122474971146433","host":"s3://npm-registry-packages"}},"7.1.0-alpha.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.1.0-alpha.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.1.0-alpha.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"f7c2566f950bde90b55b07c18f439cc7ecd7b388","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.0-alpha.1.tgz","fileCount":127,"integrity":"sha512-sPvl4S7itxMHYM7XuK8CgTzRm9VI2yup1fcjL4mMktbRWTgwJlfx1J5+Abga1gn/OrYg/hxIFDAT0xsDYpJBpw==","signatures":[{"sig":"MEYCIQCvLwlQMhI48DC8z5R8V2V+bE7PmgayL3niePZ+MFE7zQIhAJdgfOkH4y0DG2xDAtPlwGv2OkkQ++PPee1xMSBUDtsR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc1Ik0CRA9TVsSAnZWagAADVEP/A3XsijDrAJQVdrKfd3B\nyvoMx4LgJHI8WciCrIgpEwpaoGy2cDUna9rYgOfuVbHJWhXmK7hwE0ynMPuL\nvqg0AVQ5PgSK6jqg/o0QRBrxlhB8as2Hsda09Iy1OUPfY1QwRtdk6NGI3vQ0\niCTKbBZXvdr5SwXfwG8FjDX2tl4YjNGZcwYzr1AVknWSFKxvJbqbHw3psp/g\nrW7plEIyxs5thaRIhz32P/6hx6neXQWUpIeAMh5ZdaI0/kwQIfi6ngQOaXSF\nyBesKyg2b4DganUI03p2mMgKToshsMzZNe3DHLdM6DsFg63Q02BGzsGxzkko\nHU5UXVtJ5pase8quscaaCpgDnvWo/kDbFY7gE0KwrUJHIWA5gIEBp+I3WbPV\nV1rFu4e34ujP8l3DZ4hgJu8lYS/bjqVL8ZFTXy0kbLFmWxwb5foE9dzj/SuL\nyRuz968APAuFmXIari2njpBgiB9LIfIdSDHIrgeUqZl7QA26SnfTiDcmks0a\nX6pFRSzKyF3mcaBLB96xdu9yeaVpDHi/8z6HnRK6ypdYxe0DEdR/sho0WeQ1\n/t21FLDUJ9Boizw4Z5rxNfat5cr0kxtum+9NROLsgidWt+kCQjwSfywg08Yt\nxhNBDS3dn/xs+MH/x2fLb0RaY8K04mSVJ4nd0E+N0Lg9MyjR9b+m9DCFgrCn\nkxUn\r\n=Lgoz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.1.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.1.0-alpha.1_1557432627711_0.6925719096952045","host":"s3://npm-registry-packages"}},"7.0.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"e47c9d3ef97aa42150c4d9fd0d629ef7cdebc559","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.2.tgz","fileCount":127,"integrity":"sha512-06GneONmVVFKGcp16yyQ6MvPUwbbgHpQAKijBMVUMucfYPxnOZPjM2NoZH4PK9Um/uDnWNHGT5+l27krNKKk4A==","signatures":[{"sig":"MEUCIQD7K6jidRBykslwKmkvQ6itMU4hqiT1uFHszqPML5eVEgIgMgVnq8t4O8KGpw+03no0wd1ijgnUcScGRPV+zDTxOd0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc42JXCRA9TVsSAnZWagAAZHcP/0rd0GyuFxGth2CtgPa3\nk1YDDLEA+tCUta/TAP32NM12bpNt+n2es2T9YNJ5FPt4qOkaofMGvmQ17sUo\nMP7czYr/Mw6YDmpczcI0uX7t7mjlci1PZfHWohVTl7/fbqL8zzX6MO1/THIm\nEtJW1OkJO2X+TMiAV51117TnMnQiXr5hHqIhIz5RdXi7G++yh8/byu1B0aNr\nOr816z5yvWInMg08/+f2OD31uj40agLpGvywzMVikr/g/MoJbc1oT0AnyU2B\ncZi/nIncFDRO0WegqIjgjMuASnDq0nu3C3n6m+IkoUrgZXu0heB8t818/ks4\nAORvBLwUMY0832UruvF74/GKDOBDPbBhcDwGWdoQ5LnztHI4VpvrlvDEP4d7\nXcuWxp1WeaMtuDVr7rOeGkPreCvU35aI/nIXl9Sro78ygPQdTiGPWGVxyy7X\nqJGUdo3m3hxoTOu2pYT/SxBz+Md1NryF5YHUo/P7XmHvlZTgi04MMvYulGfR\nHVMMdxyREbN9DjKh4zbeUyi1v2g7e3ALd4F1qUAiIbYjbMu6NChfbxNvvjsD\nz6IcHzBbtKZBH+/KTwbBMSLedA9whTNoLFZVU4R4JBR0m1kxurpzn93Uur6X\nshGzcYVbGPqR6nEwbykl91RpMFfXCS3X9EscA6hzF0K2eqG4vyQMSUXxlHK2\nbgAO\r\n=0wOm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.2_1558405719321_0.5987884205664078","host":"s3://npm-registry-packages"}},"7.1.0-alpha.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.1.0-alpha.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.1.0-alpha.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"cda1e09f2b918bdac8578e7c81bfe0eb68dcb2e4","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.0-alpha.2.tgz","fileCount":127,"integrity":"sha512-K+6qa/C2ySqiUHCIpZeRx1uXh3IMQepeZv/EF1kL8Bz+DMD+DTXIZHYDcM1m+xPmgrwmOrbEFzjPzv5lcTc9Gw==","signatures":[{"sig":"MEQCIFPQe0/nkAkSnGuuzvUTHREF3+FG7lUi2YfeAzdvLdV0AiBpTxD1gqDrGIlqxsNlJFBRHUJ6LILEjwMpeRLD4BVxnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5AaBCRA9TVsSAnZWagAADAcP+QA1mPfpcpIcEIu/tQ+z\nounl+UgprGpSnH5khuhvHHsgTvx5Uvy7ncM98EFR9H+29RhNPr45Tg9rEDtD\nBZn7Hb83Aih1ULrw16YmEaD8snE1BTzrIv3QySWvMRoQ6TICOYdErHT38AB2\ndfehkGfJbgPFxcGcP+G70SRhmCjG7P3USAEPo0mFIxFkgBq9jbVpS8ik+DqA\nQ4TvVqv8gjJAlFMzEPUlZlw9ucbaDqEVqTe0in0T1FVlqaeBi8hOSHDRSTb5\ngwShCr5l92D4o59IBvXpAcZxSfxkIWu/h2LzLM352QRcRqES3QoSB8r4MZuz\n5AZ0DHx+HHRKrTctT2cW6W0Xg+NUWgWpqOhHIAeOrW2rEZ0vEZWIsjafvWsW\n6klAiRrUE3vVCM/6fYF/HvpbT6MZTIlvRzFiO1ym80uuyWRDU5jogHcQFj0J\nMaKuOR83FIdeUcD5i3x9FD2EGNY+FMZw4JW1ZICaOVa3AB441tQGJPJYfsYM\nHmTQszMIlXR2CIRLptKq9s3VrCzXOBmo6N+wbmzP8AYhy2zZarAnParY5VOp\nG8YEI4QL+OlGqJaw9/Hv3QXxt/Iayq44gbmpZIXCGxymDIDLqixE1X35T0Tk\nA27KAwhUINAqGJkprlczWnQnDx7kbSmKRwbq1Byri6c5WKFSjTBGaR+Jl9eG\nMPPX\r\n=jHec\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.1.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.1.0-alpha.2_1558447744690_0.26463531275643626","host":"s3://npm-registry-packages"}},"7.1.0-alpha.3":{"name":"@luma.gl/webgl-state-tracker","version":"7.1.0-alpha.3","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.1.0-alpha.3","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"d339697bbbb8250ab911a151aeae1baa0766bdca","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.0-alpha.3.tgz","fileCount":127,"integrity":"sha512-hIt9x8M5sjpbcR1EbP9z/tGd/qcpVw8PymUd4p2ogpq0JzuDrilx6axZS1XQfhocAK8zosuXMXHZ6VRj07Q99Q==","signatures":[{"sig":"MEYCIQCHaT3DgRXHPrNa2XhdtAye6HP4z2tINfDVvnbA5KgRLwIhAJUC0y40qFNRfOMvrr7s+rNnK64HrisSyTJb9S6b+kAb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5ECkCRA9TVsSAnZWagAAUJcQAJ+MLAfU8oZUevEAW/dm\nwYDi32yZCey7n+e1lwNbc6Je1rOPeNgNH0CYyAshqA/PrlzoE+e9NGEWj6x5\nPx8znzTqpr1Aa9V23mN2lpvrzTrXAlbBvvAkxiuGCgOHGA3DZBB6DaqgtjLe\nsdqMmYjKNFfUqAW960LJrNVFPm6aveLCaqNENoHv/ug89bsZcnuh7XXObop3\n+JznuuiXlbEJMeoZp2997q+BXb8bmAeSNdwggzgWCapnnIFiEMK1asvG7yeb\nSax3hoachaKqNdaUbKGaZJf7V9G7wJFeiCTT47HSr6MIej4p6QgaS4HyBvVX\n9UDDiALd66zVPLlQezuZXEi4dMZB31enzBJAdYRG1SPHdkxRhfmijuOv2D4l\ngLJ30gRR5YVCcrdiJJ37fQnkl65hwxQG70fModLlQLPIjE68pAajKuEI3asO\n9AoPKIFN0LjKxclZVxfRYMrfmOBcEDRd5V+4CmfxkTnQuUclR6Fe02l+f/0p\nNtboS/YaBIHumjc47D+C+KKrcx+BuKxcDpDcxbDFc1hoSbDPZOwRtIpt35aZ\nSJpCTLjXrTB+QQpz6JFdSq0Yc1Bs+bzKHyZreKUXOFq79JQw/BQOvG9iW/fl\nXoJn/sovCdkKqnnxqa2IsCrdxE+8TXkbVxxqgLb3jrnzLi3hGRWpKeZOTy6j\nZoYc\r\n=VAUp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.1.0-alpha.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.1.0-alpha.3_1558462627898_0.7392474826683477","host":"s3://npm-registry-packages"}},"7.1.0-alpha.4":{"name":"@luma.gl/webgl-state-tracker","version":"7.1.0-alpha.4","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.1.0-alpha.4","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"dist":{"shasum":"5e759ee8bf16f195f7b5ccb41e8c04c27a78fd46","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.0-alpha.4.tgz","fileCount":127,"integrity":"sha512-SN2Lj49zYDdUfd4L7HCFMfWeq5XtlHnv2LEHdSVsJK1j/WWJZH6HsnXvnh3fcY2NXVdxgIuJbU3TgE68p+TCaw==","signatures":[{"sig":"MEQCIBGxhudiNaXBeN3yxJJ4wM3meADe5N9+t96ZwXzgz3JgAiAQ30UqhB7bhLtCwTflWc7NETz09YUd3MrHQZwtHLugfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5aw/CRA9TVsSAnZWagAAwacQAJ8m6QQltQCv/hsDfZXS\noJO7+zbfH+0TY/pfc5yPmNUb3S8kcwdruCSxTOcn2WUMITxu2M0m2S3HfXPw\ngpiuwSs5i0i2xjtExdSWjrvjTw9s/mKxcqtuE6/rCGRuVVjNyUcCdTlqrWah\nmXql4HkmdaXuplBg1IgJ4KSoAsA6CgxKFMurjlBnh0vKTTBZI8tAkfNdrteD\nxjzRlX01qmPkOtjyWkEPStHKPPWtgy4gmuWrOVW0ABqeI+qp65+Rc9HF/KDD\n2Gb/zUB++rjXiIJOgNQEwiFkcDjuPqNX/51d2WpSjqPdtX1aysWKqMDXINB0\nGj6LlLART4ryFbP7XgE4KTtHTVvCFmeg/rXONxNEcqhGTgJ9mt5p/pv0aZ4T\nNP6UsWXIrLevU0xrwEXMfjCet4JxqEmejEXFppTAw7etUynK9Xf9Mf4kGjTe\noAiFZgeUiKdVJTxUtuHk0rMFed0svpm/UK/rFoNmni2hnIDfwt7wUz27rJrH\nMnqHQtOaqvQF7j0vM8PlHMsWa/5HEh1j5xkktE7G1S69tAOikPJOAkJY+R1E\nMfZS6yBZr2zhTeYU/Id8peHjTMNfAsr2Zwt83oDgFR2Nr5oyBUB3T5bcIECJ\n0J533U/uF7gmpJE+DyHKbiYAD9VDfJChReB/uBAI+7jgXBYDPIpvuCBuWBlZ\nDuG4\r\n=lI/D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"https://github.com/uber/luma.gl","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.1.0-alpha.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.1.0-alpha.4_1558555710334_0.255596135684091","host":"s3://npm-registry-packages"}},"7.1.0-alpha.5":{"name":"@luma.gl/webgl-state-tracker","version":"7.1.0-alpha.5","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.1.0-alpha.5","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"22a40f9453332e088e3966b40aaf0a676b69dec2","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.0-alpha.5.tgz","fileCount":110,"integrity":"sha512-ORa+ptSGdkp7vjB1RGLWo/9hEikWJR+AYBaMs92aiCBkvZZzMbIoz6j14JLijpDGwk+g5MMaUuQTyZBmQ8dyOA==","signatures":[{"sig":"MEUCIELV2Knx9d5JyIOiPWm/NPtKegU0O5IYdR+jtbZ9l/YDAiEA07eJ1e08gfNa8b0JGrhSg7zo+e9dhH1/+i2jMFl7N5A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8GH1CRA9TVsSAnZWagAA1BsP+QDrEWEW0lxP5mcNRLiu\nDBVPK/4xfrSEl5jTrc/hYuDYjNVCv/SFZ3Caf1OCWlWgC8vfmf7DcSS2QtMk\nPtyDzNmC4Ur5V/0EYoUsw9bpJ7u0f2IEhd6oZikhOxvuVoliKnYlEZR2CefP\nmWb0QfoMnpi9Vpf2sA6rSl8kVY377s17xY8CtlXs7kVLvv/oWtpBzbjw1Gfj\npjs8SHYSmoxaKbeQLNFTDQO1MEzV5DfhJGdmJsjwjxEdl4AI+97TbVBPzDu5\nWz+9WLpXWPeaxya6+ahzstirqZz0jUjUIMpDEwNKCpUVA0eUryhGiUYpr2NT\njmbArsTwi1fX0zhhUNreH4P7EI9vuLeP/CKjNM3Mn1kHwLXTM7WtQnAv9d0G\nlctQeAp2Y+gwWRy1moGkH+suu/TXEQFzFOrxK4YVFdBvG3wUjVWot4FK6WGu\nMxwmzfXBxROqX3JCwwNI9+LemyQhxawmdeMKePLIgk6CW3pkVlRNIZrGkqCT\ndzafjkstu2CQyKYbuzLHuamM1ndc9FKwEXcOmtmJh2oACwoC7hXdVnx2ABnj\nqptsu0noKoIWHAQVXZsk1hZ1kjeswF7dPzmTNm93hp01Ya1j9dWOkQTpqcuz\ntpvW9LuZpfkVy+07l5Y0BsJhgSG6q7OW7G/LtTl+Vdh3SkrX8m1KQr3h5xiJ\npAeu\r\n=rw+e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"ef39b904ae17a9bc257b79f63aa1db1671e97b48","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.1.0-alpha.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.1.0-alpha.5_1559257588779_0.4807510900610479","host":"s3://npm-registry-packages"}},"7.0.3":{"name":"@luma.gl/webgl-state-tracker","version":"7.0.3","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.0.3","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"27e57c736da1f93f65df89e2f137d1e0cc66eff7","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.0.3.tgz","fileCount":110,"integrity":"sha512-Ok05sRNPhFONV+pd5KogrRlRuE7H+XJygtnktQEhaD6J0VXs/wMTTqiWfTduPb627mC8sWmJFAT5zjkST4kBVw==","signatures":[{"sig":"MEQCIHFd4vjSmfe+PLLjtjnLizyb8ED7AU6MaPWOfOZ4pdshAiARMnob1ZHFndqZH+/p290hxe6WF2TqjeX+FY0noUt45w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":460681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8GveCRA9TVsSAnZWagAAaS8QAJMgjQH43p6IQMlZLmXl\n+rzVYMhgJMxlmYVS+nhveUHZjA05Vko6Ddr+8YvWv/CCFGbc6SkrkuWNF8u0\n86lNJL8v3XbuWIbosbNC4O9IqYMXaN/naYnNgVvCL0O2nOlRmyCdWHc/ahVr\nUXbbzRdR/njjKI4TmJN+0+j/WArydb9hnML3PHMUoCYV5NNWnME8vpRCUNQY\nsMY/W+fy2hVB2Bu/S4ht30e7cQkuIEqVTwsGkcO5LMmhYVaSbjoKzuiOcPdI\nNB0mkejp9A6sT2jqQS1YSYBWVlD6IPnJs0ONY+fVyB7NlF9TovW+6eOhr0rb\n+gWnyxBQaaCewtcfnQG/1XHOSh1o5b1mUDPyznDrRtBd7pjkgoeIkyB2YlKK\nn8MNM0K1qYN15qq/VerPCmzAdC/2skBbbqZEptmCw76g//mHGXO6rIkIEUny\nfYOHL/jb/2SZFL4QEMPslaf8DZlajBzbG3TBSirxJiOPmZ78ybLFB3iFDCSc\npjFEKee5n5j7Hz5wtZDJdAlPFRe1XptDg2HFjV8zpIg2sO9GH+9yOoie9e6w\nqhOw4LUz++K87QUMTUl9TkA/IEiSGWoPPYmrBOnPi5Xgf9I2FUa+EJFsNKvp\nK9M6i0W24qwOREQrlhmJ1D7sREkudoqQnqozAC3n8jSHaf6XBX0dGUc5xw48\nMuz4\r\n=5QC/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","gitHead":"f73a2178be325e133ad905f9a35ec3c8501d87d6","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.0.3_1559260125465_0.691922746667329","host":"s3://npm-registry-packages"}},"7.1.0-beta.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.1.0-beta.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.1.0-beta.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"4a8baf1ed43d30ad54bdc21153def4d7cff556b8","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.0-beta.1.tgz","fileCount":110,"integrity":"sha512-4B7rgKgVGbBJkG6HMTgpJg9miFp84ztNEoZArB+mft001hdJkycpuQWFhd97it4124EK0EUaaZz9ApyzUqRCGg==","signatures":[{"sig":"MEMCIE6sYrF7DEF/TvYg8gdxTjsgv+ZyJTU3tKyluvMPftvMAh98xdsA0iUIqbq4AlSysgWYY0tdtWYojgAsBOV38unZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8Zg9CRA9TVsSAnZWagAAMosP/2x21TCAEPG9p5w0AHH5\nMUxL03hYxBWiDiXj8mReMsEw1OPTTThFHHBoSG8+afyCpHr84R9JARQ/euXU\n/Y+ZT8eiaHP1W0jbH2lI9qqhEaBH7/h5f8zah55nBBCN1uyi+8BYI81FVgQX\nJEd4cfZdJc1YamidAyNaQ0PBFeXnI70ci5PlxPk7Hnos0MfkZ1SOQ9HDHmPv\nJk4rDkf0ZAxEKbfZHRaNA+pHcqQ55GynvnDlLNO6WmtgQwrjaExCQ9Qny7aO\nU1O0WwQoBSXNK3cbo2GGa1MHVfk1nLBgOLRhYxYOCh+9UtADNMmBFR5WSmHA\nrPzkpb2Kj1Y8dqUT3qnAQp8zsu9mPk6T2BgtGhKB3FGuoDk3/Kkw9k4XIZUa\nepjm2UtvHNEZBqQ2pMliyCenfWkHvmPsRqGGk7QLMrx9BBNPUe/DoTlHaz5I\nu1SI4abwpm9bzdN2ZW06QcV2y1XlSveKf5N9kabHPtQUTOmeJM8+obUDUDmw\n7Z3mNFs0vaSmSj7DCSbB8SP5HIp3QIZrEkatQwwTQzNNmLHZkBm2iUtC6KHz\nP5h3SOFvAnI/IEHL8WXvJ53OJ57VEafMWYksshbBsvCGnZJaSGSfAiRV0EFx\nHRFf63xccqMDkbunGEKsNac+7ugcg/py3tkkOkqXwd9MSwPKg74tDntC6nrq\nr1XK\r\n=nb5q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"cae69f6362fae4bc631f80675b3a9eaa7c805f4f","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.1.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.1.0-beta.1_1559337020619_0.8460494128893126","host":"s3://npm-registry-packages"}},"7.1.0":{"name":"@luma.gl/webgl-state-tracker","version":"7.1.0","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.1.0","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"aa903a6c241175749d300e26aaf5e4935b6be024","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.0.tgz","fileCount":110,"integrity":"sha512-z/p2qtsLXix7LZi6hQjuje8dX3cbyo/WfOPo+xJUngYQBAHeSPu93kZPC9OFPS9Y/kLuXPFvSwvUvm43NZ8b0Q==","signatures":[{"sig":"MEYCIQDV4BE/QkrVjaNklrK/pejwycwuc0nw29JaAdh+bIRZHQIhAPYgc8L0XZwbjHWwkheWm0bv03Tf0uAYND7QZs1z+B7b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+AF7CRA9TVsSAnZWagAAqqEQAJzJZFuzi8Gi8TXyBMlU\nLxzbnaJ6r7jYOnxg0vDAMqcIwueIgo/N+k2HLbnLGZinBNbRBrkXhsiLOzIC\ncd9Au/XVNdBEfnTAsEP+EAdMwZTAGZ9r7YyY8HE8lk8ddcqzFpFLntfH6tlh\nQ2R7UMyLmve9zag682s65VFvToHH7Zdigpm54smaQ8kjLJDEGNksctPtzv/k\nrmVvvjoETp7wL8f1QAykGzysGavkHult8/pQAIVLjsXQrueeRaEf3YT1Q9UO\n8mX1N7LNHpeL0xnXEXGCHNASrj1SNpNgVcJab1HDWVVZjCfUzaTqA4G0l/0R\nxDOSl3qBtSxNVmXeDhS7bV2geYEyY2789+/L4Wj4EvuI9lLLgV8Ri5BUlvhA\noWADiBg7rhg51CgLJrrP/Z8kDCAkb9cFIvhLsqHHQ1Aka1+pHF9oEY39z6+W\natR0+gPfJbdHDVIYRdS+yQLQu9YbeFi5fOO5w/79kftQZkuenTwr3Nxzs8MD\nA48eEoeYriMepkBBCUmnssbuywJbhR+EgQqT4JH6bYMspHzn6e+S4wKQiVJW\nE6uvQiYP4NHKdXqyrS6DCqAYQG1/OSZMjP52WjrycfAT0DSWDh+RGnsD66Ms\nRD3+pScf4/04vBDpxHDoR4Jc8/yQI55wpcrSifxmlxoS4EfBR5ei70t+DK0H\nLLAV\r\n=vLeE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","gitHead":"9dfe3fda05487d0e539b18e2eccf84bf7f4c5a6b","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.1.0_1559757178369_0.6659556559421667","host":"s3://npm-registry-packages"}},"7.1.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.1.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.1.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"ffe37273db771d8c73c2ad3acc2933fffa93d388","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.1.1.tgz","fileCount":110,"integrity":"sha512-eF63OgMwkt9+XKH9LZ/SIzsZDZiLISfc+jNvRKmT1UyKbxQLJ99V8D9d6tF8GFAl1/0To3d4hdTce2HmjwhXsg==","signatures":[{"sig":"MEQCIHlMvPzJj5FuI3xF7Bu2TcYfh41oNwKHDm4yNQg2PDV4AiB72fMZwVXK71vOxYDBurfgVP6k+gtXI7hD8AY23kSFTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+sayCRA9TVsSAnZWagAAn34P/iYd28frGpCx07H96gEd\nSlj3LJASNbelfGmTe05/L1MkmYbuwe35mst87dtAq7KyjvoDF/melMMsgb0X\n2QOlzL58KiVTiLSMbrkud0a0In9mN732D2ntiu3GvQrbjPDRommceDA5Ah6h\nA6VJDt5Uk6yzd+SAhWLl9KL3XR1CG9iRLRF9zf792KjmTV09VrZaOiMLTLpr\nde1SHqdKIvKmTwpM9oqwlIgJCIL1APgTt6/OdTc3bIm2z7eIeCCBhoLm1E3T\nBkGIkXOW5fbZGepvBjm3O6DVLORCmswyVysdb4uo86nHY9b3PIJb748cbgJS\n7mqIbE/iUJRaTTiFn7RPIsTySniRpnYL3hG2Bj8hHww++AmrT9R/DfEavfxN\nuxPG3MArKS/dSdNU6OtGJU+VV7QBSMP7d1F4iFX2bGzVqU3ThBbj4WApdXf7\n4YiNnNpuTnA0kASSe7p062QJUa+FwpnlyJJ5pNQTW58ymy10U3maVq7N/j6G\nmSY5EcZ/CtjcuPi9OTZAK28gRluT3J8p85z4RMi0jWyCKmTQzIxP3hg7tjM/\nVf2kMDi7oG/tOfS+XqoUWuBJ4e3yRrJym9jQeSm5so9agZlYj5iB/aeBoY7o\nTHQ9PQ4Y1zjHDdohaN3ThzDZJYRbfbzO7B5H6m2yj8WVD8QTWKagdVv+MMey\nxcmM\r\n=6Sv4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","gitHead":"8d1313fd499deb9bf73f036e4e7d2c31a0267173","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.1.1_1559938738096_0.5064696268896491","host":"s3://npm-registry-packages"}},"7.2.0-alpha.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.2.0-alpha.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.2.0-alpha.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"8fbf30542d1050e0892bc23e315c3c8397501aac","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.2.0-alpha.1.tgz","fileCount":110,"integrity":"sha512-MZBHosBzL6yRd7Nm5ibpNor90a9Ws2cqUULN/u4XyBieS64Y+oUH2apz2d2eA1BPxGwz3jvV1Yf2LsNuqHYSQw==","signatures":[{"sig":"MEUCIQC78YMkYIUa20D6aeR2vjCkFJzKgfCn5OjjN46xvyqmnwIgB+O4Z48jNbe8DWpXu8kUTGzrITGDgnR7fTuLWLqK68o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdEbapCRA9TVsSAnZWagAAsJsP/2SzXSmp8EjNFGDvLkge\nezslak/OcaPrADKbtDI2P5yOGLjDCCkii/OVki12OIEXFZv+fcA1uor4Dzxr\nzkH9cQltu2YzH8zL3IDuMyPfPMQcmTyI1vHfU3e1U7cAixB2wJ5LCuAYtIjc\nsY9y4TvvDIbtgQfD1WPrXdoqCBfAMPSxck3+aNJer9W481OGVCNhMBycHHj4\nKbMHoH2/TjPFXb2TZq+8BpH0yv09ks1qPgQyQ76RppI+8TchEfjraQURG59A\n4ibqfyUkV+H1/wu/UI3gIg0GbaZAijYm8cTwOZ97bLBBJuuyUVjAIOJ2Lbht\nesH4ALc0UCm2K6g0e1m76BktyJGehh50ZsnnmLuCyIlxgh3ypl0RsEx97188\n7qp0I50Z/5m40SfgdZGKH/QJitG1O0bbPXgTU9KeEA9oW1Ieh8sQjKsoI2kG\nk31nEl0n2OZv8gCbgfzT/A8up0ggA7kebnCbOcOQZaBsUL+5aIHsCsIzy7yx\nWMX7eKuqKl8pZZyGMVNBBfk0y95WWSrgjeJWMxOx1a2C9ehSHdOuDnXU01bp\nh5xek1Vn0PSidtw2hRGYuPWWwn+t5z3W4SD40vc1XdTg7WMFfIDD1/HwHXhe\nlY0YDiLpsUo9V15d76OqxPRhjjoAag8q3lSIo8e4AZHWsHSbtnk1qDfbEuki\nmDUv\r\n=z6VT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"c9cc15f90fffced387a90190c005ea55ce595744","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v8.10.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"8.10.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.2.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.2.0-alpha.1_1561441959727_0.4651143121408299","host":"s3://npm-registry-packages"}},"7.2.0-alpha.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.2.0-alpha.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.2.0-alpha.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"c81a6a86f5eb24e3c9854fa38037c159db495cfa","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.2.0-alpha.2.tgz","fileCount":110,"integrity":"sha512-07e8hhk5N1iYmPEwhNlBV6YxZ98/VQRkhnFVhkeLDUq0oo59HNJIxrPvC7A5S80tErb6bbp7WiwkKODJW1Zz6w==","signatures":[{"sig":"MEUCIEEEJQbPT0v21YvZcq3pmeJahjPgS3RYzqyeckK3KQi5AiEAlCj2EFp989jZA/NgeuPe8Xr2VDSuMTF795sTNzHjJcg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":459602,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdE/qBCRA9TVsSAnZWagAA0b4P/j+XUR9mV/QdV2Ez0C/t\n3egd0xfyq7WyDkQyO77bBkDswexZXiVNClbJPdP4/L5/A7hxlSbxqB3caHVn\npyOJlF5IKH0ShPIsadG6osnebVlHuyGBA1qklyS9x0ARcaak+BpyU/hunbcC\nyA7ZDmEcqDZ0h5NI/6NcSdRFIeap56l/YVDIP/AHKXMZWtijyeWTdpnGEquk\ntBLOLwYywUgYtIs94tenFB1etmfX/EiwJnUTkiekHERhyq4m4Qllla5UHdDN\nfs8rkR9uFuH9wnrl3Cxdv3tSSlnJdVTJ95bhXwwfDNHJn9imTX4jAYrIRvJv\naFyTDbWa4KqfWO5kY+evXbmrpaufVaDLWmwybP3b4UvBi7hmyiCzM04r3IY5\nSd/qcikB7CojtcUU0+RLRl63hmS5RWz37ht1MXuaLS44JE50u9KZFuYgBlOt\n+QrCmTmo1PyTC0+TWdUopQRSUffRUkArSsEzc9Ok5TSw6+6hho4q7h0jTzOY\njOB1VfwCFJ7fHMYOQMPJToA3tj4XgJymAvY7cyBp5MG9Lx7RoOiLpAA43rrI\nQs0vzEv04NcrHHY1FCSsCIA8oPVnSgN62HjW5uaqPFPlNxivZV0TeA7X90yf\n8jOAlEh5m+XuZr9R4r6V3nuTCha3HSgxu1LRrZosqkqxEwiRCN1zKZlwhtjG\nV2Q2\r\n=dTDc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"edaa7caabc3aa3e422eb7a4c3c90377968c867af","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.2.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.2.0-alpha.2_1561590400831_0.051709642069952766","host":"s3://npm-registry-packages"}},"7.2.0-alpha.3":{"name":"@luma.gl/webgl-state-tracker","version":"7.2.0-alpha.3","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.2.0-alpha.3","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"7476506387937396cefc078abee6e72edd66b64c","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.2.0-alpha.3.tgz","fileCount":103,"integrity":"sha512-D5GlCz4GLnv+NBAZnFiSUgdS0h6rRsqUgiLvdVYwBaPqSxb1Q6TENUv9q0ISNzUw4ayoX7GpPjWLlBAtlXcQwA==","signatures":[{"sig":"MEUCIC/j12qTqoUhFZWGs4lmj9/SCrnHGrR0/88mH+hI3ZJ2AiEAziH/dbFFSez6Y+72k4PvGPtliYiYer10uvKqUrokV60=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":456443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMO8nCRA9TVsSAnZWagAAFYMP/0rcWdQGpAJ1FCkVmxO6\n/uQ7X+EJpRximphoLRDzN7vQRIpE0ZCC9Ux3L1UlSHpYpfNpv8hdSnj3ONRl\nU8GOZxXtNotl0KBZ9HhVrhy72nfQXGbHuOM49/FdQ+k2dJTsubWa070rmcMo\nZOHB/uTVMlxVg9jhxWm5N/vDAIP1Ktp1yju0gJUXYz80AXOkuh6e1IhZqMPe\nmjRZnXDyWS8Eja/M73N5v+9hvrSeHBlOxGq8fe+SYDSRvTuOBn7WZzDiQa4V\nsKX5b3b6zU7sqEh1jhRgJ4AJ8X7mAghle46jRAZh8QYQGF4kJHoY2cA1lbIK\nOw/kzJWqWZ4h4+vx/6LkYFspA0PEfxMB4ekLmqMoVV4/9lic5dURKxYoMEBe\nvPzfhS+2v35m24PPNjvxmvCKNBzuZ7gah3NX2VkZb3Lv9ohLD2ySzodkWw3W\nlyHWeJ+k5+evnkF4rG1K41dz/R3t8SUxczs7lBeQztjll0FAg7c2EPgfgVdI\nz8+LwxH2wOh07E7+x4FArk89N1It5OiN7lyHbouyjL6QwAphdrPh5jZns9Xf\nlF1qsXJ/OBW4VImPAR3jWIzm9KCgDdPpOpIZJN7tPt3ObZJ6FC+z2vgUWc7U\nTVioug6KLUVe8GgeOSrvAB30L0ipiiaPzF0u5T2iyGq8yjPAR0tS0KPsSB6W\nEhy9\r\n=x2Xp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"ca4f57e62c5b48e931743e7a6f469e1da7914e0e","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.2.0-alpha.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.2.0-alpha.3_1563488038381_0.09712397016488339","host":"s3://npm-registry-packages"}},"7.2.0-alpha.4":{"name":"@luma.gl/webgl-state-tracker","version":"7.2.0-alpha.4","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.2.0-alpha.4","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"6ede74dcf1f6f29694077f2288b1899048970190","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.2.0-alpha.4.tgz","fileCount":104,"integrity":"sha512-nBg6hRv3/tgOL2JD9l1krU1naXbF7VMo6OV2hAFe7kvIPxjLfSrmPtJ5Qu+n3DvDBJ6d5DA6SLQZLAKJVP3ZsA==","signatures":[{"sig":"MEUCIG+WkPYWuNXRnd10NQZbG6ptUa75kmXb8hBi4tAenZcyAiEA6JMIdN+rdSOI2rcNz/7DXuZskbiY+diZJnycgoMUkpw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":462591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNf+5CRA9TVsSAnZWagAAbskP/2ufQli2LZubFxkRG/KF\n1bEx/OSPziArQDxZXlcRp8C7/0ksLHjf5O0Y9gTmkQLgA4Q/UxZbHmy6a39W\nnmFrEqhdkkb3oyBkhB3mL7bzE4bZtfxVJtEHzHMsF+vSjPuD1cyWXajt4uTS\nsUKbT0D7pgDsYvFJe9Cr+bLu57mdl/NbO4kodNPHbF7S1mUr3O6o4Q1+jNVK\nxZzKKF6wQF/5A22GeDnK2ZSyW9cP/Le5cDS+O3vLeDMPj8v1dFchQKhlGq0s\nIwoGrUJUxupwzZkYeTTfQUxX3eVcUQNcV6Trma4VU8mM5nwpw+o0VfmRuQMr\n/dcred9zCtt2Y8QUivWqinA/DhFjrdOQZ2Zz+VMHYxn6sLK7pdQfgWtMVch2\n3Yv5cckGczfWLvWbx6/MjSqObUBTd/Vp0JLtMitskc7NMAOpXbSfGycE9jgo\nWpveFxoeEQ9HUypp5NH+lQ1e9TyGjnTy+uXAY7y4yfaOwpakeUvIt0PfBI02\n5EZR/sDzaT4Fjtw2uM7oK4w4diDIvFN75mirpH9fwoM3Qgmvmc+aQ2cHbN3t\nqmsYpa34UZ000JB+X3aDjYTxw1McYroOryhwuNkn1h8BlpGCO7op5Q3wwq0m\ny1+Bf3BY2EtvRBtFZVnTlKGXg05Ad/4q3Kl/eI9iYQWic7vzoAG0WJcuMaxP\n5rIR\r\n=MQx0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"72d3e96ab960915865f7d0dcd58f6a5ab64aa23b","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"pessimistress","email":"cxiaoji@gmail.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.15.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"10.15.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.2.0-alpha.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.2.0-alpha.4_1563819960590_0.1571241997597126","host":"s3://npm-registry-packages"}},"7.2.0-alpha.5":{"name":"@luma.gl/webgl-state-tracker","version":"7.2.0-alpha.5","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.2.0-alpha.5","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"9fab0c8a75b8e6a9c21c80ae1a9fd274715923a7","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.2.0-alpha.5.tgz","fileCount":103,"integrity":"sha512-q0P23+AjS/Of4CAuo6XdLEAWexf+RBhQX6Ejfj4UR3AfYQyzawGsKqioj/nyJ+ZxruiQKxtdy0n8co9L4nPJww==","signatures":[{"sig":"MEUCIQCDyeMo5zQSYNorilyn5a9J4H0HOySZelCCDnaIZ9oSmwIgUFCCOUCZ5SNGDct0AQi1tW3JSpzTNkwur+92oYombkA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":456443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOoRHCRA9TVsSAnZWagAADLoP/i+3ckepvBt5RdWZToXE\nLlauUqNZordoExyCJPg5qrktC5AbkppOaJNHz5HyfYmuYGRSybA5CWMqkFBy\nspjyKmmU5eJwxtmHPvEhVPPcarK2EHo4bwNI25njnjfHFygFoFhO/TBT2+Cr\ntRPO9EkhDWDcMMNu6IQdwR1Q5q4iaWCA0ri3QF1FtpNUYHA1RmeiafVgh9UG\nXveu4dxqfKeG4KqWNz0KcMG4chXKIaVKkXTAKn2Cy1pOclrZFaOiCJ1Z9jqJ\nY8isIzO9x0DPasWjh/9M8STnPOvoqtLq8hkL8lifq9cS40wji7+tWbUcWPYo\nAVWllmvFrSGJP+E/hNfYAgwm5iNuV2AJNjip0F+0yz+LBSgttLIfxWO2K8xK\ne2DuvLr+0/BHfR195DJBQU/yuOXhxkXwNt8FOFEp0zNX404+djR3duLNk5aN\n9EmhxlvuTbZePZtcjur7CQWN6sJ4qyHT+j6t1e2cXvZ4VNz00WDQzRMY4MAD\n9t7zuOo7z7SQY8ohuyhfjQXstRt/tKE89nJwVVYjn2lPDmWkaUz2RkpplIB/\nw+OscmcBJ+b36LGplXplKO3zgpB5cBGkpn+FbqCwcyxXcJipEf2PMwLPGxU+\n5WqmwVDU2+xR9pf4VzFK1qqPYPgsIEo4+IMVWQVMFuDPRK+3Cwvc9kl+QP8M\njCgo\r\n=DcEI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"754d00ca26daf77c5a025d576defb007932303da","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v8.10.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"8.10.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.2.0-alpha.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.2.0-alpha.5_1564116038555_0.3003602014250062","host":"s3://npm-registry-packages"}},"7.2.0-alpha.6":{"name":"@luma.gl/webgl-state-tracker","version":"7.2.0-alpha.6","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.2.0-alpha.6","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"235b78a1a5a0bf44e41d0121c80c5229ec4b95c8","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.2.0-alpha.6.tgz","fileCount":103,"integrity":"sha512-nJsESIqR3fdrc6CarWMVY1pGwkUjAye8Tgfb4XXkCJuvX4ou4QM3BLGJaY61xt1eG7Gh1EKtBAnoTMt6Q+a4DA==","signatures":[{"sig":"MEQCIBHVIM5ZrqaP8wU7rmxs7D1hTg25gHC754RytpcvVJyZAiBTbW8gnpM4+gq2bmBacH9D0K8pnXNHYwQE2X+CFC+UzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":456443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdO/JbCRA9TVsSAnZWagAAIfcP/0JqQCP2T1q7Wzi+8Rl8\no9AkLrOIdoY8s6JXFdz+c9X9zw7srYW3CgrygWziuERgX17/SVvpkirCXr8A\nlvGVZ9IGJyD2TASh0W3yWWi866RY4jrCEJOFGdei8D3osg09Ox9yixNSqHuh\nWkTFqN5Wpn2zmEFWJUXzMlOQlx2O4HnUSewN6B1jl+VhN/H11LYgAAUQhCj2\njoIS0TIELZ2WwRNxfGF3hJhIW7pZ7RSxQCCPfcQ1BG/mx68PWLvyuXkvj9Ke\nNs6tGWrYcg55bYQNr6g+v4kO1KrN0dfK/Xs9cscrsgaQytSox+lLI3zw9hrW\nKxw8tMJ8xdg1v1m2mQAOLd1ialiax99TR8IWGsiCCE1kbIxYz07A4O98MDPs\nJ3kYtRfScRT1+3UU74hlOnX9rir2rH9BAuBKNxyfmcs11KT1Ib1o+A0Njg9x\nKyF20yWaeVINwIssarEXS7EZ7WNPhSnAx0VqbvwtPZyWR56sWpcpcvd+5Dzx\nl3TTC5FdcmcXCUDXi0htoXtVBia9OJAAj4hal36jm6fxAr7/CLwnKfY+NmKA\nLxoEXCsHwsSgXYtJOeqb8S52nETy7t/SWS1Zf6XswapDiViIRuJap6gmci7D\nIQ/uj9VZppr7bgkHuLwUXO6PuP1nsG6Ykp/hXnlH7DdDecTBVm/djY+ACFm9\n85nd\r\n=0xyQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"a6ee02b54774f20d07eb521451f7d722ebb5cec0","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.2.0-alpha.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.2.0-alpha.6_1564209754232_0.8193189662137799","host":"s3://npm-registry-packages"}},"7.2.0-beta.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.2.0-beta.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.2.0-beta.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"f527dc5b190c7e946534378357c85e2301c051f1","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.2.0-beta.1.tgz","fileCount":96,"integrity":"sha512-N2VOShI1M2+cZCsf327hH9n6sDfnsvhGtnd3JzgdCXfraDfAtmDshDiEzGTohuAueP/c5cEzq6WqsiaPmZQGcA==","signatures":[{"sig":"MEUCIQDyQjH3l2L6q5bjVU8TWQAuH0Tr1s3JzHeOlYZcgkJGQQIgAUYq2jU1keui26wR3PPZsU0QoaDpfhkxqpn32nMA23w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSbB0CRA9TVsSAnZWagAAKYsP/1fKPkkrt1lOga7xQPTl\nhFH6aJY9JT2TpmK7ao0hM1kBuoNWTnDPNHq27y7N8CGHQwtog7BO3fRlxW0N\nsv76qYBK6hX3IROcvl39RzDbELHpL26fXPEIgGy0E5Drwm2MR4bZPN5ws5S7\nCQMt2p21B2obmz2I/G7R6IDI7xo41j43CsTk76Lia9SsXrvOuBJDhGC1oBmR\nMmkQONAUfxP4hhTyV18oxKoTBDgO2sRDf/UyIZ0xRRPcZRBouZ8G6cSoRiQq\ny2o72GVsJsR2HVj7r49nCE06kQNWkahg+xlV/SCXpQMf+NVFdEckvR63G9qF\nI7ApYIypGk6JY0ujObvL9oflA1jcU2B+ExHRjZVvIsdpdxjlM5ALXyB1ycCy\nFYiBNUvV7OHacY3lPEKgrXt8svjivt8AvE1wNN5AEeu/E4sNYza7daCK6+tb\nT3iMbce3Yp4Gxq6uxy1aCAvPZJlFRnLlnN38cNKtAYWJQZRL6ympEWrtftQJ\nt/U4nAw7rrwPio/UGqGgcWkXhwIDzNG06xL8V8uRjfz+3dVnWVbfZxuFjMkU\nx4+kQw7YeMeyyLMSEk5MXhoCYIY1EhvR2ystkmAB2/W+TkuLlV1QghwaI6tE\nWKpckBLze4QikLHWKGe68GE+uoyYRHKNlfnkqMcGEMgRY/+6gJAHLbl4ntJd\nUysW\r\n=DLGX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"9bf007fbea50e0958187a88f6f81df2ad07af21c","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.2.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.2.0-beta.1_1565110387756_0.27704984844962466","host":"s3://npm-registry-packages"}},"7.2.0":{"name":"@luma.gl/webgl-state-tracker","version":"7.2.0","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.2.0","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"dff5a64934663fc8f3508cff16703efcecff467b","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.2.0.tgz","fileCount":96,"integrity":"sha512-RKiE0ksGTaPt+FmJA4iGKsPP9uYvqIr/auB0oZUKa4dNq8EqnvlhNSqpkkJrM9ZIuUreWuCQvDZYCU9rgTyrvw==","signatures":[{"sig":"MEUCIQCZKTo8lFk03U/drMUs2AZ6KJapkbZqkRi0Otjje+rmPQIgJp8drTIl000VsatyYfg+fjt8wz+Lu1LylZiWwle0Ps4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdThJQCRA9TVsSAnZWagAAfTAP/RjX5nsQZZmjlXooQ2P+\nbFOGsNlzVr4BqVOj1TAng7LTkaiN9mOm2m3slJLGK8JNMNf9ckFUXKg56pzP\n/J07RxUvzJ2G3kEIimOIc5U6f/lnyj/BM2tzqGJVKmY6ZgS7Ec1VhK6fzuln\nq89osjUGwM6vTe1Q7HJ1hET5vp16Ok9DNR0pzuwMRcMzTg5q+jcihK19QaDC\nzLo+fLsMGdWCmzohAQimZh0OZRBU43IVwzjlE9MUyIQYOvM2vl/tRg5kmmbT\nVNoNQyXNhMg3dhQgmsrH3Bjuc3MgwUp+vFmZEkvqnrXQBs6IxW5LDdEHt8f8\nfeAjxq0XUPm5v05ws9SffyglcD/7LBRmybGFYI7aHJ7kd1I+jEqvgvq9eqyk\nFJ1ZWPDKqWji0vHLhQbv04g4iI6TXoP9TrZOJxBhdBcEfAYeEKFfYv+ETNZT\nmwRrp9hLG4yD2cGBX2JpQFj26hgexz1mZOSfDW5KC96mZdbDTQinzayfDlHy\nGZ1FVug0aoaAWFab/aeMVD4tgm837mST2JWCx1qWpscDQgdcyUEp9zN/Ji+L\nqt2Hy/2Gi/gEbkHDZltc6ZqmjQIhbBtAexwf6PKnMqU3Zbgaa2sPqKJfkGGW\nFaTMY9Au8astH+Z5EHP/9Ksm17pRiTGPkTUYzUnqFTSZTGO05K5+eH6my6Hp\ngFgm\r\n=070g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","gitHead":"8318c4628a26bcdc1b3fce2e4295252aa9f8c1fd","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.2.0_1565397583901_0.6900411521778198","host":"s3://npm-registry-packages"}},"7.3.0-alpha.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"4cf31de01d9e11a83685f5bfc5bec86a8e77e51e","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.1.tgz","fileCount":97,"integrity":"sha512-jxy/14tpmqB6JCBRSEbyzboaF8FHcW4l4CH2NOoImwicEBukjIb1uKZCjBQ9AHGgHowNjgvZ2R+FWi1U9lfFtw==","signatures":[{"sig":"MEUCIQDPej+uRPqZt0KUbozKZV660JiD/ziIVIZi6wHxm8Ry+gIgS4T57d1t1beJrtq3fX02wv46838l/QW74niLtMVBpeg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":449487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXalTCRA9TVsSAnZWagAAfnkQAI4rJKNAXKz6bl2Wh7lI\nRjeL+lrZyd3vo45wg3Wlnpkqr2QoZYog5ZjUp/LzHYwcKk8t/Y1SCfFcvpuE\nYbsIuC1ySkwsDASYKz6RaH6+qmPythdsT194PCl+pAabY6p6TbZAjtlg3Nty\ncN+hvbS4MirKQZkxzD55gnW3wVT5OXgN7GLLDvb/4fv3+cj9UmnHysyvNFq+\nJCC4tmlVfFH+mt0F3R2jSu3FMUI03Hg1f487ygR+QRZjLCGzAE7kDXPP1VVT\ngdkIPASnODIGHX57G9pEDPh7Lh4o2UDNIFDUTR7/Qa1tZQGJ76nLPp6QprbB\npOS9Z7H2X3lMccS01oab5tNUQ0TfMxKGKx3IZ1l3AcloIubwsb1O/mk4kceD\nBzFOlYneNL5nxiQ1UIz0Z/KFfWUMF7bZ4pFc1ud5UtuZsT01dk0qOHKcfYB4\nJBXjGkKmFXwf2IqlAAgL8SlC5UBAcRYVA+4cgj8RmzFgne/bB2Ls5Y2NqtRW\nFVtxiVM145kZhkFcryp+Es2dWm1OJ68tiZ+ErjQxRRS9EbsKpGTZu9ELhEDo\nogKDsHorosKvL0GJwtR2OeiUaZX6l9f3Sd2VYAiTeVpSD4IULfBYfNGYLAUA\nE/7AVyfrSONJL1Eqy8waCRSAlhtRm+PggLwmnLv1VcM5wk1vaZ8cUzvjP238\ntcha\r\n=uaKU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"cf5d80d7b19b0201e9435006a788f8f0ab4c6e3c","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"pessimistress","email":"cxiaoji@gmail.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.15.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.15.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.1_1566419282523_0.6668216395493305","host":"s3://npm-registry-packages"}},"7.3.0-alpha.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"0649dd50c169b2205ead97bc4840cbe14e337a4e","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.2.tgz","fileCount":96,"integrity":"sha512-TmPnk8OOITIwaOfsR5DFgNbvX4I5iw8vZvZSLuwl5AklZc3tKJQPtYVGGFAIxs/9/KBtsbPNiBeaGYCsom5AiQ==","signatures":[{"sig":"MEUCIHsY2LODFalS7TYJc4cs5KU0UL4RL9DHi+kds9YBPZVBAiEA+yvfnz9M46AWNpBLazJw63ANgrhwvpO2PZLpHDz1YxQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZbBDCRA9TVsSAnZWagAA+lgQAJeMQfHzaiCvHSzBEJiU\nTiPGYslCC1voi+5xP3GxNi6vxnTjRppL92NJmow3xWO3evBKBxSlkbwxVwvr\nPkfpYoWMjFgZ3aUFqca7ZTDaE/Q1clgmWCOzkeDwB0PGbXAmjwGOFv2lEIaR\nT55nv49GXQul57WNz2e+ztLLUSIYEy1XwU33g3oW+9bhTnnykGpHLdFLZ9BM\ntegHk+tLzgUUd90QyTHk4BiJCjxoZusfv4lBx/9kKAPR9O2ySBSnw7Fx6iw5\nDE06a4o2ZSRE+XwuApr733MRDilhZX13vRH3DG1zQdHn3p0546h5MaaSyprp\nAhR/bzkdFslm0pO8etURKfj5Dm2JHJJ9sOorLf6ki+6wpk1B4zb02UpIRk27\nYXlRBG9JNHc6N1TM5yCAA5Y/KF4cbaOd1a9VS4hqOmVLKYOFZAmj81CL8/Wj\nkPF/UNk+6FxUDdiOrRDFco5zdnw0iqyGv71dinj74hZZnjoegOXRgD1pqzOa\n6c5Ep7v2OHD7N21XhZXLkgW/XAlxw8dmylykW8a7Ph+tX7rUdIAf3qfoFg8W\nJ9/jNXOAG2eOXS8OS5R6znUrWlvT3+s3/rqXYzCyfk6dtntxOoG1vlX5RxHT\n8l48jL6ADj/NRi2K/uqEqG+7p2BcKE/g3uo5fDliY41nb9oYbRsbU77xPkA6\nKxxG\r\n=ekJ3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"f1a055c2e928e519be81676f5e0314bc9ae16fe9","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.2_1566945346543_0.33436445149444505","host":"s3://npm-registry-packages"}},"7.3.0-alpha.3":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.3","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.3","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"9b9acf649c2d9eff3776ba899137497f92c61f4e","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.3.tgz","fileCount":96,"integrity":"sha512-rryYtrjUNCLRLH5NwfBQ9SEIaCxuVpxUsDM3mbJJogCRGq4qqrr3/ESfgkrgBdi6ee+E+rZ0pBwrnDvk6sMpzQ==","signatures":[{"sig":"MEYCIQCS44c9UKr6tENvn1MlmRBDE9PqFdRUIb//VTRd4ftd7gIhALjD2V3f5ckQ3+fX3b6ni9TRTsnI7o4ihOZF0OgkQH7W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZt4ZCRA9TVsSAnZWagAAcYgP/j6tIzrnWXRJ1lE+b7Gm\nNlvhzCgI7ThW7arBqYKh/Z12unQGAmI/pjseC8BQY5Kah5L3PQK5vR72TxKQ\nsSgMoTWVVqfEX6MDZSiLdJX3Znfjbj99zct8cE3RHkTe/uNVcftnJbtW3fH5\nc5+YHSsMtWvCgfKoIOXyqc3FEmOeLzjjoz1v1GUcFcInIlZbPa+U4ivJrKze\n7STbqSDjaJBdNaTUiakiFD5uhcQCN271rNZpSKRCHs979UpWD5cKDiZixFZ6\nLYyg0ZllOmTBXavrS4SXqgbS0vEL5hT0+LjUFYnlw7PMSMc81Lsmb1lwGW8B\no/l4dklAWT9fxZZ93tZviv/I2A9cGJzHUpR+RzCLQUfmxkeM2LDmzuk6uUQE\nTx0s4YrICYl0ptFNxJMt2Ri6H3uXu4t6yjrKx9C1xnimXXRUtRiYTvBqaEkV\nZbNniLzzV0VB/jGEQrfbgcWTqxPL7ASt7WM+UjVdsnlHrGSwvNtzc1GF8RbY\nWvy+4lB7xk6wlfcuwfjcZlBnZOLiw283gjRqEWkTDX+UNikBZ8RkJ+KQAxHz\nlPxWhKAdsfrp4jwfGFIkKLhBzF638dzG0l91mpBmuw6+K+eK6yLRp6PXlxKo\n/SuOEoNcOIFQ4AG1cXWqK7z4Vi0aTP2b4dgYhEcuDaKAdbzu/9oK/WaSmQiB\nC3B4\r\n=Jyim\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"6ac629e9a8257c69e0ebe004629a6e84432a7f7c","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.3_1567022616369_0.8744372219043943","host":"s3://npm-registry-packages"}},"7.3.0-alpha.4":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.4","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.4","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"7c5f1610ef8e9d5c3b3a6b684fe514e390d06530","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.4.tgz","fileCount":96,"integrity":"sha512-dGXwPUM1hof96mQ+ozYtCPMdLWP5n57fJtZ6m+ANBMK9DvSll+UAOV562B3MJGyzbIaL/bTdxrS7uUYQ68ZHEw==","signatures":[{"sig":"MEQCIGU0ZptS0C+NGtipvQIXm+TlktzMTERqKKZYMat0eSW1AiBgQ8RfCdAuXev2LiKpcGiON3289cwhUf4/S3DV28RZGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZvXICRA9TVsSAnZWagAAIZwP/0JYSR8MChdIakEGi6tD\nZg2qO96D5Y3sLaypiPPJmHA5fBDMe+xUYkZgfUMCEtWvYfBzwF9LXdOiH0/W\n/aZ7KlniajALQSB3FELCpzs8sRG6ogui6raVxS8Y2lIiFnG4OyzGwFhkI6Ea\nlEmTaZL1h84ePwWLO7ujVaZNh/6DcA3tcEXIMWgAGaSuvhUR2lLrwLmbQsBe\ntSDdgtCNqUfWMd1ujhiyC7PWJBEvVOYPNfTSlu7svBpG5h8GaWhJTUrKROH4\nAqi9LFOhFgj5XJefPzXUPwv8PNQMPZDeiQo34dBe6Msa/TtM0P/QM2KrbXYb\nqFlHmpb1E5LihHwDR5lsgWWwO+sZdHY8lmTz1XYLcq3x0ml0k9cZkYTAxb+W\nOf0gxDKdcHNmBuKeatLOL3gmg1N4VBmVj78s+Qbo6q5vxXPtY5c+4f3xnnC+\n8q2mOV0oylCZr6k/gosRVOVRQsl2yk5bO+9IBRKnMXID/6DM/+Jrk5dIMWuk\n8/e9Cj+0TeYR7ZgohEXfAfolkB+HxH9gFrUCYOFJ/hoM3dEhcvx8Uock+2iF\nS4x2jD8DziltgmHOJtcFOAf9L+R3WgdjQ2FCyvu63B066B/vmK2vec4ESes7\nWumZN7wfRrNddyliQPuNBbvgMhS3qKJdS+KmLDPYgIkux2svdDm93t+myjbi\nyvxT\r\n=dF7j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"5e8c810e2c71752e9cdcc586a95074664654a540","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.4_1567028679435_0.022788757477779198","host":"s3://npm-registry-packages"}},"7.3.0-alpha.5":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.5","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.5","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"e63c5e0f1bf8567ab0e1d04321fc38a9170aee30","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.5.tgz","fileCount":96,"integrity":"sha512-Iu0vjV1bOQa3gyU275oIRWlM+mjsQq7QGqIqXBFzBaCwbBDmUv4Evge1szFwC4iP2/scQ1Z2Ihmd0KwBaDuYiw==","signatures":[{"sig":"MEYCIQCMtMTp67Bjp1QxwmCrn8uNb/rCjoWPU9Tb8XnWP+AcGAIhAK8quRANKnix9BxpUMav7Y1A+HkptNrm0m4BDB0DRD6b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZ/UMCRA9TVsSAnZWagAAIacP/0sxSKGp/25KCtEknqnv\n7bciAF86pu37k8VbJ/QoZlv2kZ9xcFQYrFNfzo394V2CS9d+tOZWJYhWFHb1\nKkCegjFQ7PR4z5hIujgY7079tIhjmCazreRPmBCTzZU0ct8JjjwiWYkMCi0H\n5XgIze4q70MJhr3NW8yGdrslt3SYp1rIolnS2cxrmGstxhMZvpgSGSfThuE2\nqoxc3xlJSuuRgGLlVksm2dILF6rbf41tyJgQCFefyIKfzmrczhVHSh60r8DM\nqXzlK4XFxT3ZILczzWQHba56k8e/QqJnneyUOtMbPG7fTDuhCcjU5qwlb1WY\nMyhiLoU6K6P0eIWRBy+FXtUUljw9aOgB1xrKqG9DIZFEpvn2BMODrX/IQTSM\nCdv7brwaIdXXS8v977SSLJsG9DFEkfLE6HlzKDGYZNJPJ+YbDn6nfIgYLjTM\nPpyqxub/JDaJQdWbTYnLEQQrqw3BsaiDIhbOY+NbqvsEkGOPMYb99jXCHJcP\nA4OlLZGf6Fq8M0c2j+kUqvMc61KaiPMQ6yxxZ6SQKLo83JgDfBb2YVroQ1By\nBm/bEAJvpL18jHFccznKWVB0A3yguv6tE/CiFhA6kq0aQ5x0fuXX7K4RpG/V\nMLAIvlGoPitNWTR3vdA4hrGugSdAVV1uVd2o7OWBKzDcE6TiFNoN0QxmV05T\nubwc\r\n=XxEO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"516debe2cc98a49aced52de925d222487b6ae9bc","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.5_1567094028283_0.7195408565766153","host":"s3://npm-registry-packages"}},"7.3.0-alpha.6":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.6","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.6","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"d5c800743180f134738c98ca346f8abbf9d61081","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.6.tgz","fileCount":96,"integrity":"sha512-agn4QLusDmTaR/Nk2bUif5asnnXDLQZWnIA0sUDuQrM3mslFe4yt4IqgElM06rQPqVGtDIwO2+hnQBqUI8DzxA==","signatures":[{"sig":"MEUCIHqAzwPHFg5Ufdxj22qF07b0/rFXsn3deBjzi0rsAwNgAiEAscI8wibsOcHAVdUYwYQsZQj+HnMDoae4/DecbSfkR80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdb+PtCRA9TVsSAnZWagAAgCIP/1pQlfouLelBsZcjjwor\n2H9t4wKyShTxNByzMaV/u54uriMHcqelz6lEObDizAQsdm9clmDG9APqJ92Y\n9H8BsRsYueSNnfD13gSoRnom6gz0QZcMLtlkovAWPzfYxxOFYNUlDmRwI3Eb\nRi2AUFFEsJ77v0pGm4QlYZhN2vXX+KSi9h2zzYUXLrluWZiWCR49wkTOmswe\nXBq/89GJfM+BnMBtooO2L6RPKxAJ2tYbDQmjUYR5MehFN77qx9RLnJTP7L3a\nqUJoZZ+t+2nxai97pyT3o36gFuf5pVGB3re4HsE3X29/zZhi2nOElYkWS7IC\nEzb5BQhiNNg4H6vYieg5ek5I48uppJOM6/RlVsE+q8hVFcJiQI4UR6oOinsV\nuNhgURFACpcsB7l5/4BHSzOlKifQs0XbTuYQXS4hk0rL/lIm4tGOZgkyofcT\nyBLdKFGgTbJ38xW3hEB6n4th8kEI+8g/xj1OLRLYyD+y00FhyazYYd4jzBJF\n+XLKqlF4yHObS3qo4g9UR8rW7gUU4kFTRuNyNISa7m79pRpkSlgjqpcPO/p8\nKLw2OrDIVVU/atduh5aNtmr/LG0qc0f00S0cPtbb8PGCN36SK4OVl6jHfF+6\njUtZwxc3BklysH64kkpQ4Lr1M86L9VBEDiicaBzQycwZYhhOiwRT865e8u7s\nI1Mz\r\n=Xw8D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"6a3d027967da08ee15109d2723374279d36009d0","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.6_1567613933304_0.2274127446274583","host":"s3://npm-registry-packages"}},"7.3.0-alpha.7":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.7","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.7","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"a4cf10d7b77655075b669cb759d3c501c1e63f39","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.7.tgz","fileCount":96,"integrity":"sha512-8lOlRKTAVR77t2Nc3gpAdABqK5tf7TUZN+vuKfCwe4reWYpsGFrhpMGRaEvrHqs1Y/t1gBHADURfIVeTDz9a1A==","signatures":[{"sig":"MEQCIGR2BYXQjTaa7EH0AI3zXO3aIbcpiZVDyTB94xVu1gSyAiBHiMtJoUVoEgV9XW8cvGdM4t0FfgouaIFNO0lDKmCnPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcqyjCRA9TVsSAnZWagAAsxUP+gIGgNi3m6ExTIsHEDMa\n2nE6jFr6lN0sKDmcfIngGK65omEjQ9gDNWJc4DeHfUV9lvDHIBXky55Y02+7\nnz3zplXDMv2x6ryN/5S1loeCA1vi7py7SH9qeMamoW0oulF+/TwJgnCJA2HG\nnsZPmubYFWYz+VGL74YjCuJ3l05gc1qePngo/DSFh7eKXfVBfS7JrZYac03o\nbpEu7ggGvxIICgcWrrHFiUKOeut8Gb01/kVBIAQrK4UpihBG3q+iY3DRDhQT\n2duVpJQP4wE9gN3fiRBpfA8U1BTDiHQOk9/Fy14DbdGPMoL60rdzh8b6tCWw\n6Vzaru3J/gfShMfBJvxTDgBzj5AyXbY4uK01K5MAFxFL9rijz+0xnBf9xJXs\nDlaPa23sv95+3JlHTukrWHMdiLLI2RdKRV4snxhrhOIVvctKatJ3ndpJafv6\nAGAvhf+nz91CYc9PxmhlU0udjXYE/QSyO/7bURsCUXJRIsKSZjMMkKqdte8L\ndz2T4uuojS4t0Y9L7Spp/5GeFW380YNPoiFdf7eL+XPAkLLx0f7Kpll6XmYx\ndHdDFCsGW0h4nTBavOKtDIBiJH/ntryUzzRnKxHot2bmnz/HUVoIILzqk2JA\n1kwnKsColVKqIFKwR2smeGcXrfMopUOlHcqPrKiQPGenir6gw9f2uEvOl9sn\nBzbk\r\n=fgcZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"617b66df549e06e52105ceabfa9d135d5feccdcf","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.7_1567796386591_0.9683322289188856","host":"s3://npm-registry-packages"}},"7.3.0-alpha.8":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.8","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.8","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"016c7f6b160418666099b4318aa0bf6739d3c11b","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.8.tgz","fileCount":96,"integrity":"sha512-PBr2j0w3HkPCbr7zqaaeIkkDwKMQRNoouI7Mf0m9YouecasfOIeDaoSXkhooRiW7VpcxlSFTu/QbiKeIaytIfQ==","signatures":[{"sig":"MEQCICaI0LX7zzDbD9iVrUiqCnkeuqtHT//FSknjl3vcYunnAiAvwIAmeZls9RVpkCYPJbO3QoeVt6LxXpfCoNUGersq7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeq2QCRA9TVsSAnZWagAA8lkP/Au58zUV3Egl8eBBg5dJ\ntKXVKSgQm+Fos3DThjAO8ts6uNY5puRMWqCeyHJB3mifFzuMF608H5nLntJ2\nObpLQWHqbKU1HgyrtYiRd4pvU2DFJRVCuNIvFMuCw2CAZTmw1dnodObVEKZS\nOfE78t1EY0gRFNtyvqW8nuf0Jujc5nTw4ZRDTB4iqfR+XCE28A+bnRsKfSLO\nBK8a9DLsYrc9bO8et0kLmPZaHcbxgaWuCnv/0UEjjc9VDAJ8gPUR2kazci1w\nVA+DJJRG08Y0kZ5mzz80XikJT1lQjHqj7BM85a0NE+hp969MF2nEmTD9i1Cd\nt7YlCIHnUkqE/+pbWPSBLk8soNPJqs/JRf5Te00NhOMxsxDucy+CUTmr1SV3\nvfyWp43pCZPaC73XTnLX8QDiqIl1MDbvpA9ofGQW15KoP15JY2QusqhTZlIV\npKyCa4qvsMcLJ4ku3BT9UmshIl4HkLoqutyoghHF7bTzmd8eizxU9IHNI70f\nN1uBF+GBw4RdcqRGhTLFGhlOB1CcxT9mLBCv70okgRxeEUzOtme7VEehlFQI\nwRA/7QOGX+MGUlaEMaOBzVX0/HkuUPawiwlSRBKSkusFrghyuio3Vu/b1ct+\nTcUH4GYrKV3pNR51KKQ24pd52w1LTSHQMpTM0jl4ig1quXjLe/O0hmg8+qEo\ns1Up\r\n=n5YG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"24536152b5552e7c7b57a35464deb5164200d090","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"jianh","email":"jianh@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.8_1568320911721_0.14559454011414363","host":"s3://npm-registry-packages"}},"7.3.0-alpha.9":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-alpha.9","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-alpha.9","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"7e696bcbcd9aa4b3fcb5cdfc7d30b557c917ae71","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-alpha.9.tgz","fileCount":96,"integrity":"sha512-Dv5tI4j1ZmZeZArR9hS/Ca97ZiKete3PSQ2zKnjXfvpwtC8q6ZY5Vrj+PpaIFtwhjXgQwnrpYPErwvILLkVbBw==","signatures":[{"sig":"MEUCIQCrICDlwueCPhUAfPRY4uFOkEdp4lXc5ECt+yy6Kp1sNAIgfQANZyKLPSnMVWmmtXwBGmyxkc/sfFUWPhqbQXw4mFU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdfCShCRA9TVsSAnZWagAA748P/j8JTRkFOHXRT4iXca0c\nJ5rqE2PZZGQ7uZTe24EwURQf85JKs8RDBdoPOqaqMRUxKco9o9NZvhcAzk5W\nHt19hCiY08WWHYRBw9A+A7B3d4pUNLkE0QPibxRCACD+lTsCLCxZbZNGz+jS\nRvOI4pPougykrl4Z7PvVdX58oAXR9WmsFwxJMGTpJ8+M+hc/m0xMQQvK/NwD\ndNPPaUGH+Q9cMktvPPVMHm8J8oXYNaoUpug1FN5ph8nmSujr6U9BWNTQfXZ7\nnopo3h8jXVENPuLj8zGT3WqWrQVc/DMN1eu3KG+mXqqV7ZDdCm3NBlWwvH+c\nOkIGbKrfTy8sJshqnowWiS5Jk0PcyIeyrmVG3F7P8W1YeiU7F9jgCXF7+UCb\n2WsYfew2ZOsVmhdF5AGXy1UkLkRB0PAn329i5ltwCMv+gaqYvTVrEY/YCMol\nDpYMIZBESQxLfwYOH+CIntr/nXwF5cjC+5vn1sjBkrmz1k57h/fI6a5lb1f8\nfktmIqWzfqGCgX18CD3pKRLWw1ncCDvo57I8b70yAXOqNDUilpuaKTu5OyAU\ntXNKFLP5w0y9Jl5pcnsZX8xGi38G0IwqvN1ToODD+NcNgP+3qMiYtx5VMD4M\nbthkVqlKExEFbMHXIVmGdD6/6v+UT1Y31xDE4HF4QaGbea02dLD6mre2Zvss\nzRrq\r\n=wwOK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"69697e053842455ffc91386eb0cd2cd054714459","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-alpha.9"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-alpha.9_1568416928536_0.05942444562469018","host":"s3://npm-registry-packages"}},"7.3.0-beta.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-beta.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-beta.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"4b31c7dcb6451a12511784703e00abf87718187a","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-beta.1.tgz","fileCount":96,"integrity":"sha512-Zwhfcrd4oGh3NvZg/NequUJrKOleeA5rkZ3yn4vKBf+VTJYe+WRsyephx4P16Xl3hTF6Wb4kiIlEw8CVIEOEdw==","signatures":[{"sig":"MEUCIQDwXMClQkQmirv/OhnXp/hwEo2wRhhXn9FqwfHNU0WxFwIgQ8s9ENhpca9rpf50+qqDBnDw2MNeYWRj1Iw8IizLgk8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgSPMCRA9TVsSAnZWagAAxrsP/RvFYyvUJN8x2AK2VTMT\nT3BFo2yiJpwFkbANGuFuZtIKINEnqXP8ExpLDHpe2RQ+qP1j1dP9/k9KYIUu\nvtc5aDz+VB5XMayJJvhnZNOGB6uAFaDu6QIptiK7xGGUcAUWhyCtMvnOMkVS\nMQmRuaNCY2qixh/Z3tDMGi1vPyLR5RlC3H4DUIHoNCn8cQGoQmpYDC6vYQcn\nXVxvts68ywOT1PwMLDmvh7mTWsPB/MDnhbEGynC9mhXUaxSCgDv2dQ1PtFnA\nC4govldozDUE9DhxkMUGIFsXbymL34GT2YOnIpDmYuI/OwJIdhyfY9FXgteC\nMIMly8U++AG5nz0G/8X639fo9HQBPRsQxQxHSFRHAws7cT1o/gPqDUNxHykm\nh98RcsAoGEH6RJU7bxtdS1sKNTho8x/+HjHgt9Fs40glIoQNndlysNEnNZcD\nxfcZ+tJ+TzNrEaN1k/ESvp3F1ue5Z2h6OATrtq7OGQ/+VQzsrQbz6QTVckcF\nKQsj6ncqIzpxo6Knqg0hjFqnLREjWofh2f/8H3PgkdChp069tGyJDCKBNS59\noafgAS/pleO1a2m1GLCZ3g7S8TkGoc6qvsk+5O2EEgBRojoei5T/BWa0EnYS\nDbitz2ZHuRHQcaWX1MMvLc6gx7JnS9hYmj1Ka6b6jp2kkgtGq71nZRWzJhzu\nHTIC\r\n=WACe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"f04b050a0994cac705e905976fb41a419eb86f79","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-beta.1_1568744396166_0.17052571097790237","host":"s3://npm-registry-packages"}},"7.3.0-beta.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-beta.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-beta.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"a2692634e8003aeafec7872c39ba7f6376a709c8","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-beta.2.tgz","fileCount":96,"integrity":"sha512-/hF6kI/NxMY43CQDYqcGeWY8byhj2vjAl38lE16KNi6Cc71z/ron73EVqUMqBHqHc/SCJCyadqlMH6dEY5AeGg==","signatures":[{"sig":"MEYCIQDe8MLh4zGnxvAX0O8C9K/5ZDZctKGp16OtFzH2jSI6WgIhAJtwAxli+YRn/ppkzNG1bpzfaLnEBl7dhXANRROnBHKf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":443337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgXL9CRA9TVsSAnZWagAAVNwP/3QDZPgiiWH8++PEINJS\nrZdk7n9B/Jl0QCk/IdJBWs9UbV4XWiMpLj7RzGQCCQY0xDH20uMiQ1++YBun\nI8jtWmMJMNapuZ0mnSYnU0JGPkyLeSZBwQjBPr9NW7RR8m4gOGPUdAxcau71\nINC9A8WqvUfC6C2Hu+xRgBgD0xeXSVITRfnaNKeJ3ZIreFCCSDgz3DU0o/5n\n1/0tmv10igRJ+A6qq5Yfxr6P1o3OpkeOVO28repMEgcupqM3dOhWPiFElPI1\nErtK57Y36ooLlqzKcpCtg32i28ZtMdqf7u/+j0QKiB+yGuidc3fR2wI+PJuN\n8Bad7pTQRK9FGpILHveMzcMpVdF5CaH4DzGoS4R8cWXdiaLDYEPtYYgvlGq7\n85EH6YlDB/oIueFC8UzR//XZ/Z84nKi+PyxeB8us856a4t+p/BpRLuqvNptm\nr2KsN0HL9cG7DVZkz/qhTlrtOJLztJJQEybwQTluwTfZMVwH/BGhFBIMCSK3\nwrpj1oTV8r+GEVnZAJLVIEUJsOnB66aClPV1IXC6Kx/NhtKT7cmFNRcaxDXV\nb8LLMbosNqJ/IGJvDuUw24ZISsmGRq4MoIfhBCIuTtG2ouAjrEnakTQq5bPX\n5XQ9Tvey4MgpBIyhY2Pl1CayoemtfTeag3bg/bByUw23hBlkPgUC67BuP81j\nrlqB\r\n=lnzT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"f58d82d7793207d8d6c35e8e5a5af915ffcf2bbb","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"pessimistress","email":"cxiaoji@gmail.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-beta.2_1568764669246_0.01796769077800886","host":"s3://npm-registry-packages"}},"7.3.0-beta.3":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-beta.3","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-beta.3","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"d1fd8ca5bbf10436f441f4822c438d96e8bd966c","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-beta.3.tgz","fileCount":96,"integrity":"sha512-q+JNOvkaxNsu61vAWeF+9Tu07g+RMYca1TrbE/gy3O3PhKMLn5EZMN7/Du3zEXwrTgs3h1kwtZJwl4pvqRX9jg==","signatures":[{"sig":"MEYCIQCCKngHOAgRk7ilOtQuqOIjMRNca7Ix6u1QoBhiSZ57xwIhAKtLFc7Q9g2iBcIYEQHkXggXS6fJjiPHXuOMkOO7oHOL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdiqweCRA9TVsSAnZWagAAt1kP/1Hnq2C7lbSZ4ANpSHip\nHD1mAFKvzBSZfTEj7TukpK5d8fAJStjuX7N2cSALGfSMwkhCzWfU5a9jQHDb\njBRa2PT+BwMF9ejN4yDzJjNzC+MDf+zbyu55+Dcq2O5QPtVfDOtffUumCgGr\nz3TLUX2kR83ZSsV2/qc5XcObnvVVBK4AdGGB6bpF4HWbmOjaVE/Nsk0WCbb7\nVo/rQTnW3+l3bMX+OBC8X+WHZIBEksrYAkbbUxjgR78YwB7A8OgMIGDgoyzt\n/y75mVPNDTTkV6E/VSvVC2O/Vd9K9hl5abhAdTJC55vnqU64Ch6agclVICYd\nPtX8GZZ+9nF7oezvZ48+gwqFDvZ5yd9k/5hyqEsEEKPfWGSHNnTEUkNJyF5M\n/cXpbiuKMl6ZPvN5EbZ8UYDnavJS+pbyH5gD3GuBrfxmHL07kprxwTJbIbHd\nUGiKTmDoIXbX9O9ZWN6P4Y5aHWlAD6KkUlIwbtYoWLHsn3L9GIfZQrudbIX8\n42n4RIXNSnY4DJWC1g2Iit1gUDHqY0hdTWQi9KbYMNK7at7/cCh/3hFZTBVP\neqQ3AUIGRMrvV96Xd/erNi/fnFTm4qsOA8+fdd/ZNgL+KqYm6eGub5Fgm11s\nJnptSysk+OmftzoFZS1wBPEd1MvQypEJHRnqIgMocl3ZeHY+mgeZJX1jFc4l\nu9NW\r\n=TNke\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"077b3766e4a572a51d459fb7e392918fcc75ab8f","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-beta.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-beta.3_1569369118325_0.7926875330198822","host":"s3://npm-registry-packages"}},"7.3.0-beta.4":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0-beta.4","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0-beta.4","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"15ecd84a6880414e0b07dbdf959356e4c0efbd5d","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0-beta.4.tgz","fileCount":96,"integrity":"sha512-k0Tjq5Gl3H+h+pXOU7LA0eruZ3pWJbqmch+4mevkt0hpWHw20jxl2t6/TGBZQNeW9pOrlgvM+CpuKq2hISPG1A==","signatures":[{"sig":"MEQCIAK3hVsG+LFIccd6dg6S7WALDMS89/lBFZd7uDT/BrBXAiBjGNgKlLreVLB/8T5C8mN6TEgrC5aFd7Dw8JtEAKc6Ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdi6+XCRA9TVsSAnZWagAAupIP/iC7Ex+KMo3YBfg8HjV0\n8H/i4Yl/IhuFQjuXc/rz4XwUZ05eK3ueEfPc3dWK2bXzcwEawhxandUIeUgd\nmLhHFAdEObf1o/6C0Hrga8CJt4rls2jQOQqd8/0egqG0IXS7v4qLRn/Z+NNX\nvRKa9eRoafIN1C26+98vrKlQ6dTmYrF1QhTr3gEp/tB1owBdt5Im7fGvR0vK\nJvRBxrf/eF9rLc9UcQ/s88e6fsMiART3Yi8yT6OXgoweKStV9287l3DygUbV\n/jJWOj1AqLaVWD/HDDrEGOLRhqO2J0g0ydiwBgjv+S2Ep06NDU3TPK7mS4ib\nkVBvsWL9RgR8marcmzHzj2EJosT2aj6rYa+WbmVQKqCm8wAzjE4toNg0B+n5\nT/kR1IxF4Hrbg2Gp84HjULixkIE1vIUf1QptObOTNuemCuQ6jviSHawknYgj\nCVV5ZwOp9d4ZPfv2dBnhPYbEQJb/ni9v6Nfjuum3A02baUQvdc3O2RseI+Rm\nrLuJTGTtc5zByV0Vy1cH0MqzCdjf7zol3JQswQkkTBSvdNcav+VdgLXRJOKB\n9Jj7VZZJp9mCwJ9HpYU0nobgAzLGIXGF785dpQdDyD0d0Te3t3FwCcmQ7Te+\nWTJbIvBvKN6XAxwel8dTIDpkShePVe3B+41gRNblv9TbTqsWFnRqxPP2zJbH\n1Xrl\r\n=+bxx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"be291c70d46875820ead661b8404715ce1154edf","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0-beta.4_1569435543017_0.16990822043445264","host":"s3://npm-registry-packages"}},"7.3.0":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.0","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.0","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"8212ba5d0b495d971fc3bcc5371831dbb72c1dea","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.0.tgz","fileCount":96,"integrity":"sha512-NO/hV68XHMS5oJX62iF0ELJUVcDyleCtvBHmDUKUV1dAWHxpeTd9q27HCLcBcKdhW9l0FQe8g95FfJi3atyRIA==","signatures":[{"sig":"MEQCIHg/DM6Otr/F+4pHnJaVbJIhOYZn0YGMJmgAPOiA9LFHAiAvtvPYOFMXcs3SAakYNatsFMu/+ZYFBN31d/gDpawzQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjTTOCRA9TVsSAnZWagAABAsP/2ZCmQ7SiNOPQPkz/SC1\nB+EZGs982Hz1Uh/EG0N3JjP4nzFm0wQC/03OCLyE62RWh+0D/HBAjqa2zitU\nYnSWA3YVYUEFRCCWO7f95CSetRWi4DWMqlHb1yMuTKPDo02AxcecigMmYO5A\nBUvXeV9MUNyXogfxutGzEYCdzQS0QEEuwzGkgoVmJFTK2G3Q7pwmg5KsymuS\nJZZ5iJKXZb5S5w2Lhpgd+c6Os5MYrxLHvnPmdfpaSA08G48lzOYOLYgUTZvT\nk+Om/mQQdBgiQtHl1TzzHcwnUjijlCCUQNA6SKIW3vIfsPfzE8OrHdtqRkcT\nyFb0SdxxtVkEaCTBB2q6xcY3WK/qpqufolZVfIozQloOJylX+ViFnHT1gKUO\n2SLNepjuPw6R44UWQOl5AS6k1oH18cm/uopfQh5iUfmwMwIXnO8fci1oheaW\nIXQmJjbCY/lfoC8L6g0gc0LO9Z7U+o2GhStw8n/oA+hSew5W0Kwyj+xb171i\nIvkdU+i+ngX8DZ/Si0uSS7TYtMspJdbtLkSr0+wWHUNuoM7Tw6aF+G9J/hYJ\n2JKVp3tnSIDoyKSbH2jpSfzByEhklAIrLxqEUxKK4kupDaODq3KF+rhctwgX\nyRWKUlfD6O+qNShTwMs5Eib5ZvysvNFKpe0T+nsQvXgV5G7PjtJ/hiPiUcQ1\nyA22\r\n=mnLo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","gitHead":"1e6b82df3cf73855fb7e412fcf1d268567a4e650","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"tsherif","email":"tareksherif@pm.me"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.0_1569535181699_0.39946482216217727","host":"s3://npm-registry-packages"}},"7.4.0-alpha.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.4.0-alpha.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.4.0-alpha.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"9a9c40cb5cb563caf86a1b85c38831ee21d66db2","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.4.0-alpha.1.tgz","fileCount":96,"integrity":"sha512-msTGr3aYf0xev9Z/DBzxeCcEaT6YP3EP8SxqxTSrsNGUe+TEfWfAbfoHfwJDkbYTL0lbS4oqSNn6qX6X6la7qg==","signatures":[{"sig":"MEUCIQDyEhjVc4/5/BP2RCb3mQQHOHzRsHQJ6RUFyA7DP/fZ8wIgeUDMuQxgaYkLwMAAD3i0CdDgO/Q9QW/YWTxzZBF3r3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdk9ADCRA9TVsSAnZWagAALR0P/jWaSMui7vLisWjcpYVZ\nNk6tvciKLyq1N3N9rNc9YZsNH0L1XzPWnRNO27/z/QPo47Ev+Nr+gT5pNY7Q\ny747WVLHoLA0PsqUY1Ag4wMz+36+ZoxyOgC2+cvEv/GhY5SV6eXPn6bhkh52\n76Ofm/DoZ3NgKT4Y2dmRia16EN5scXmmjs9T3ko6AHXfGeMqazz1lknVuf1K\nomfF0yCcV2mnon08UgUFEetB8A007JfOqrgs0zRHvCGPy32IiLeHtlzfkRfL\nsq7y5ku4hmCGdQggnCNQjFdMfFOgdWJK78Ej8v/FZzl6TrQU32rCM6MMCHSi\ngURapMMDl+UXkPE0u5J5KWGPXX9y0Y5N5s22eDsqBE+nRc842KzbYb7auuz2\nPaz2StVsUG6i4NFqxUrk3OC43KYLtOiXfAzcUn4c5La82yDMsHpFfIPfg5zV\nj8JgyakOAjfZc7/WJWlGJVO/13//1Je7SjSMn/RBawxXb3t16HKpkjlNFqIG\nj7Bq1u+v0UKKyv5WHcC9uImVOpUq1Hivg290etSBqQHkQ/NMjTaJuIbnKfVB\neONX4npJFNUhXULtlgW2Mm9A3GKNWV9vBWomfcSvnohNvr2sCkuaNI4U1Jyq\nk2EfwmLA6fFpu6vn1sj83Dh0Bdz1sbrDbxKZ2tFjveuzudUj/kUymw9XvG3O\nfQoG\r\n=Sovl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"77358f20783dde922070cc148c51353f57f70996","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"pessimistress","email":"cxiaoji@gmail.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.4.0-alpha.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.4.0-alpha.1_1569968130463_0.9658261139066691","host":"s3://npm-registry-packages"}},"7.3.1":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.1","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.1","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"6938d55c7c5250450ab79205464737c633fd1569","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.1.tgz","fileCount":96,"integrity":"sha512-d46jXh3R3pzIdmffWmseUFd6+5pjcv9imlpl6XYotrJ6E9sKNQX7WRfNfcgFKYfGVPXE0RHuBcA9gVjim/5xhw==","signatures":[{"sig":"MEYCIQCsUST/0cwKCZDrJvJtOSklXKgy7ywtVEk5VOg29Ebw5gIhAIe8Fm9cashy6cY3LM28H6Gt9ldWOoEipAhT4JzxH3Z2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlWQwCRA9TVsSAnZWagAA7NkQAIlxcoqXyVgV2IQX7OfW\n6w9Rglmc+HUmc2rCZ4lMnahIvvNHP7N8xVnZ2w+LxbiW0ddgvKK6WwwnmQEN\nmqJTO7H0lQmt9KSWH5qRtvlG46rF1hObDywJKzj2ag6L+V/bc+X/ZINgZJun\nJfgPXNXu8O58dboaFB4EdiotRbe0Jk+vmyy5HnwoHOcKYkApdtYDFopXiC53\nJ2RUZcPSJtRpRZRT+4k9TbOgApPo4Er6RInqSdAaafBeiCcehO7im5WkYpjY\nwtduMT3yxbeLdM30Ur+TK55CGk5IBWJzX0Djn2m5JeGrZd4FqFF5aDwRGVNo\nat0aOA+TnSsvTdRn7xDeXSKJ+OUnOFcBNPB2lQP9rMbXIvlyYXtVkm6jJ1Oy\n63vDyKKBZJ+boWdt4kng3d52YtZS7cUMUsEy48DljioSVFrfBxNHWSfty6Qc\ndRcq+g760izXxREiZ3ALGNudMMf4OZ2SI6kxNtiBpVYoxDVRAqhqXsWoeLdA\nkuHNUFTIrqflotOFMFxTitr/KS7JdjZjH4DMUOQa+320/WLNpn6EOg962WIl\nUGCeUuH9OOWUparWc/iUPGQF1OvK8GLCeQiWE9v9JCa8RiGBQ3DkNFVKI6UE\nnb/3ijJiTDb4ETgoHoyrC4la8KmXnvY/nerQzXF25FAUpF4P2wXRtKrGiRpi\noQSQ\r\n=waR3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","gitHead":"03c5ee4cd14415c089af7655305a5df0733cdd6c","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.1_1570071599429_0.8810799956927196","host":"s3://npm-registry-packages"}},"7.4.0-alpha.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.4.0-alpha.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.4.0-alpha.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"516055072d1bb737edd0c78d7bae24f8c3b67bcf","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.4.0-alpha.2.tgz","fileCount":96,"integrity":"sha512-T6qMWFVYNiYB7leh4cfZ7QE5SPcWER5rCKYTK2OiAgc3EMqThLc8/QmCmjJfAvMDt2D+mpHsB6o1SeYmv8EUcA==","signatures":[{"sig":"MEUCIQD3OJxe2Z9UmIsQxIwXEdhCR2ExXxKx0v48u1Oyl1lvWwIgCMWo8Nq1E+zVzvFYUZOr8hUOaq1pd/0znEZMUCqru14=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdl887CRA9TVsSAnZWagAAub8P/2ldvdaW3HcFNquVZ9t/\ntGmuECGZK+EC716P64YJbYxP3sPbXCLabLmKJ+eFaHKK459M0K4U/Dzc8H1E\nB7pNXsItg1pfPrvr/P5io3I+eDFegN9SUYrcmQhtkyCs2UdmnSd0/WCEcn9d\nTEwPmkDxz0g0j6rbGa8LAYRYz3Pl2JZme/oEb9u03DeVlnYJKLxyB6xv9u2Z\nCYOSlQiC4loCAEz0ujBa5EbxL/b0AaNyGJfWQ+og5v2jjrKUqSEv2lvfSrZP\nSxb/Phxk+mciKYO8jIhLhiFCzhb9JFVygkQYuxoRmBKlPYkjv0sJg+ljyEJP\nqz1zINRT2Pp9sj77g25S5o+0xDwcBUsologi8AH4wnaqIeC/RlP+b7E6x54s\nt/ZZ19pYYGyEZv5ArEnynwblaYOCph3v8mkJQqJCOOTkUi/blp4n9VhNnceL\nE1rU8ZlKU9We4JUHMILaM02FGrxZValsnXXkNeIZN8EhvlS+O3sLXcVmT+Mo\nmluWoPvngDEF8U9WJwe4c0DwLyhxnDG0WoA4cofDtg01bxSJCbF5IIW8xDxd\n9yoeQMdyB7JTY7jHIsu7jdw0ctHlaiutClBUsdR4++gGCk3G2x23iu76cDim\n2aU3jLRxkksIbNRgFP/ree83O+ehpoxOSkaWClpQTWCrvytHUn2fkhc19Zba\nZMwL\r\n=2zMR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","gitHead":"9e0402154cd180e539baca244519383a993fe099","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"pessimistress","email":"cxiaoji@gmail.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.16.3+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.16.3","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.4.0-alpha.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.4.0-alpha.2_1570230074157_0.47990867661972136","host":"s3://npm-registry-packages"}},"7.3.2":{"name":"@luma.gl/webgl-state-tracker","version":"7.3.2","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"license":"MIT","_id":"@luma.gl/webgl-state-tracker@7.3.2","maintainers":[{"name":"1chandu","email":"chandu@uber.com"},{"name":"georgios-uber","email":"georgios@uber.com"},{"name":"gnavvy","email":"gnavvy@gmail.com"},{"name":"ibgreen","email":"ib.green.home@gmail.com"},{"name":"jianh","email":"jianh@uber.com"},{"name":"pessimistress","email":"cxiaoji@gmail.com"},{"name":"tsherif","email":"tareksherif@pm.me"}],"homepage":"https://github.com/uber/luma.gl#readme","bugs":{"url":"https://github.com/uber/luma.gl/issues"},"dist":{"shasum":"b927e1c7689fbc75432197eaf0468fc8f0e18a76","tarball":"https://registry.npmjs.org/@luma.gl/webgl-state-tracker/-/webgl-state-tracker-7.3.2.tgz","fileCount":96,"integrity":"sha512-0LuK3veReSm2UPOiDwC2CRDeE2xk4irqXdhyFO0WSAU1w+YhzbD1hGbjizGczvgfkbz8dFl9h98LbbH75efcKw==","signatures":[{"sig":"MEQCID5XJiYRzOO0sBHXIPxGHPxYcvmUhrVuXrB9UgwgyVl2AiAriI1hne3YNuvg7obSukMO4CgRMQhmSmYTQnCb9Vq5YA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":442913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpjkgCRA9TVsSAnZWagAAgZwP/1FdoJr3JfsJYXywK3X2\ndTEM0OTyPMpd9+OypPAa/fpYHjmX0WW+BzdhwM6WcJ26gylggL3d6ElX5uIS\nqWDuvb7kqTI4aGu66claILMGsD9OCZ0BcXQMSnlbN+3M+G0Sm6NkQXaNSusz\n0u/2i+tBnGXJveOQXhnTEayjKdTckNjaXwiWQfsBGiigNSBJrjuVeWk5Bm55\n5amhtU4m8HJDf8hS+b9rwKAHaFA2gfROXxohXaP2P5qUYpn2/cLAHbDcE9oP\ny5DQrf04TUD0Xqy4QhiYfmJ7O6Y2tlVwtZBHgeHh9v0KZMdz+eK3x8ce3iDI\nEGzjYiax7OHxeHPVzSbdiDzWuMaaQMdkwsAyS6Cwy7OfZvgCNaVRidx9MIp9\n67diW9g4WWt9LpV9SOAAqp1O0yZ9qHjzgg5j0LB3FLEemfmTIh0H03dlA3Lb\nXIpz43NsUWcppxe8OnW3PWzCFvchMuqJg/vItTUUu8PGe+QaeBIRiJo/Ac4S\nfs9bGJRbD6fTa74O0/UXlwgHU+tVQ2r9ru9csA7H1JLnQ+Yu5VtbPO+FtWbe\nlZGeByNFIBzx3rMrk1163Rplgc0wH3Suoku//dNFgi4pjZc0hXwlQ9jw/86H\nq0hMwxP9/eiYm2z4CPAzYkC5GPHjJewsmkqcE49gOPDP+GWt8+rn+w/7kNOI\nCMqJ\r\n=li1b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/es5/index.js","esnext":"dist/es6/index.js","module":"dist/esm/index.js","gitHead":"f425977255e8ecad243d34bc4e805445f8d738fe","scripts":{"pre-build":"npm run build-bundle && npm run build-bundle -- --env.dev","build-bundle":"webpack --display=minimal --config ../../scripts/bundle.config.js"},"_npmUser":{"name":"1chandu","email":"chandu@uber.com"},"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v10.14.1+x64 (darwin)","description":"WebGL state manager that saves and restores WebGLRenderingContext state","directories":{},"sideEffects":false,"_nodeVersion":"10.14.1","dependencies":{"@babel/runtime":"^7.0.0","@luma.gl/constants":"7.3.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/webgl-state-tracker_7.3.2_1571174687532_0.1399485321780558","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-02-11T23:38:00.821Z","modified":"2025-04-17T17:54:09.199Z","7.0.0-alpha.7":"2019-02-11T23:38:01.161Z","7.0.0-alpha.8":"2019-02-11T23:38:32.043Z","7.0.0-alpha.11":"2019-02-13T23:25:21.327Z","7.0.0-alpha.15":"2019-03-12T16:53:53.008Z","7.0.0-alpha.18":"2019-03-26T00:04:50.530Z","7.0.0-alpha.19":"2019-03-27T17:51:07.521Z","7.0.0-alpha.22":"2019-03-29T16:11:31.922Z","7.0.0-alpha.23":"2019-03-29T23:13:13.659Z","7.0.0-alpha.24":"2019-03-29T23:45:17.271Z","7.0.0-alpha.25":"2019-03-30T00:06:40.894Z","7.0.0-beta.1":"2019-04-01T18:40:06.618Z","7.0.0-beta.2":"2019-04-02T19:44:41.589Z","7.0.0-beta.3":"2019-04-02T21:00:27.324Z","7.0.0-beta.4":"2019-04-03T22:06:28.937Z","7.0.0-beta.5":"2019-04-04T21:56:04.235Z","7.0.0-beta.6":"2019-04-05T19:11:23.509Z","7.0.0-beta.7":"2019-04-10T16:56:57.189Z","7.0.0-beta.8":"2019-04-11T21:33:23.998Z","7.0.0-beta.9":"2019-04-12T21:40:11.031Z","7.0.0-rc.1":"2019-04-14T20:58:44.188Z","7.0.0-rc.2":"2019-04-16T18:59:32.085Z","7.0.0-rc.3":"2019-04-16T19:11:19.427Z","7.0.0":"2019-04-19T20:35:31.394Z","7.0.1":"2019-04-30T18:50:35.019Z","7.1.0-alpha.1":"2019-05-09T20:10:27.820Z","7.0.2":"2019-05-21T02:28:39.564Z","7.1.0-alpha.2":"2019-05-21T14:09:04.917Z","7.1.0-alpha.3":"2019-05-21T18:17:08.073Z","7.1.0-alpha.4":"2019-05-22T20:08:30.520Z","7.1.0-alpha.5":"2019-05-30T23:06:28.902Z","7.0.3":"2019-05-30T23:48:45.715Z","7.1.0-beta.1":"2019-05-31T21:10:20.764Z","7.1.0":"2019-06-05T17:52:58.517Z","7.1.1":"2019-06-07T20:18:58.262Z","7.2.0-alpha.1":"2019-06-25T05:52:39.967Z","7.2.0-alpha.2":"2019-06-26T23:06:40.944Z","7.2.0-alpha.3":"2019-07-18T22:13:58.559Z","7.2.0-alpha.4":"2019-07-22T18:26:00.761Z","7.2.0-alpha.5":"2019-07-26T04:40:38.735Z","7.2.0-alpha.6":"2019-07-27T06:42:34.484Z","7.2.0-beta.1":"2019-08-06T16:53:07.889Z","7.2.0":"2019-08-10T00:39:44.150Z","7.3.0-alpha.1":"2019-08-21T20:28:02.655Z","7.3.0-alpha.2":"2019-08-27T22:35:46.691Z","7.3.0-alpha.3":"2019-08-28T20:03:36.540Z","7.3.0-alpha.4":"2019-08-28T21:44:39.620Z","7.3.0-alpha.5":"2019-08-29T15:53:48.436Z","7.3.0-alpha.6":"2019-09-04T16:18:53.399Z","7.3.0-alpha.7":"2019-09-06T18:59:46.723Z","7.3.0-alpha.8":"2019-09-12T20:41:51.876Z","7.3.0-alpha.9":"2019-09-13T23:22:08.660Z","7.3.0-beta.1":"2019-09-17T18:19:56.286Z","7.3.0-beta.2":"2019-09-17T23:57:49.469Z","7.3.0-beta.3":"2019-09-24T23:51:58.456Z","7.3.0-beta.4":"2019-09-25T18:19:03.150Z","7.3.0":"2019-09-26T21:59:41.833Z","7.4.0-alpha.1":"2019-10-01T22:15:30.648Z","7.3.1":"2019-10-03T02:59:59.578Z","7.4.0-alpha.2":"2019-10-04T23:01:14.351Z","7.3.2":"2019-10-15T21:24:47.670Z"},"bugs":{"url":"https://github.com/uber/luma.gl/issues"},"license":"MIT","homepage":"https://github.com/uber/luma.gl#readme","keywords":["webgl2","webgl","WebGLRenderingContext","state"],"repository":{"url":"git+https://github.com/uber/luma.gl.git","type":"git"},"description":"WebGL state manager that saves and restores WebGLRenderingContext state","maintainers":[{"email":"cxiaoji@gmail.com","name":"pessimistress"},{"email":"ib@unfolded.ai","name":"ibgreen"},{"email":"felixpalmer+npm@gmail.com","name":"felixpalmer"},{"email":"belom88@yandex.ru","name":"belom88"},{"email":"dm@donmccurdy.com","name":"donmccurdy"},{"email":"KappCK@googlemail.com","name":"kaapp"},{"email":"chris@gervang.com","name":"chrisgervang"}],"readme":"# @luma.gl/webgl-state-tracker\n\nProvides WebGL context state tracking and a unified API for setting WebGL parameters\n\n## State tracking\n\nThis module installs overrides on a `WebGLRenderingContext` that track state changes and allow context state to be saved and restored through push and pop operations.\n\nThis is useful when combining code written in different WebGL frameworks or code bases, as each code base can make changes to the global WebGLRenderingContext state and leave it in a state that causes problems for the other code base.\n\n\n## Usage\n\n```\nyarn add @luma.gl/webgl-state-tracker\n```\n\n```\nimport trackContextState from '@luma.gl/webgl-state-tracker';\n\nconst gl = canvas.getContext('webgl');\ntrackContextState(gl);\n```\n\n## Functions\n\n### trackContextState(gl : WebGLRenderingContext, options: Object)\n\nInitialize WebGL state caching on a context. After calling this function, context state will be cached. State caching speeds up parameter access and enables `pushContextState` and `popContextState` to efficiently save and restore global WebGL context state.\n\n`trackContextState(gl, {enable = true, copyState} = {})`\n\n* `gl` (WebGLRenderingContext) - gl context\n* `enable` (Boolean) - whether cache is being used\n* `copyState` whether the state cache is initialized to WebGL defaults (fast) or read from the context (slow)\n\nRemarks:\n* `trackContextState` can be called multiple times to enable/disable state cache.\n* `copyState`-`false` is fast, and yields correct results for newly created, unmodified contexts. If you are tracking a context created by an external framework, it is likely safest to use `copyState`=`true` to ensure the cache corresponds to the context state.\n\n\n### pushContextState(gl : WebGLRenderingContext)\n\nSaves the current state of the context by \"pushing\" it onto an internal stack, enabling it to be restored later.\n\n`pushContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks:\n* Can be called multiple times, enabling \"nested\" usage.\n* Each invocation of `pushContextState` is expected to be matched by a call to `popContextState` at a later time.\n\n\n### popContextState(gl : WebGLRenderingContext)\n\nRestores the state of the context at the time of the latest call to `pushContextState`.\n\n`popContextState(gl)`\n\n* `gl` (WebGLRenderingContext) - gl context\nReturns: nothing\n\nRemarks;\n* Any changes made to the context state after the last call to `pushContextState` are undone and \"discarded\".\n* It is an error to call `popContextState` without first doing a matching call to `pushContextState`.\n\n\n## Remarks\n\n* This a helper module for [luma.gl](http://luma.gl), but is designed to be independently usable in other projects.\n","readmeFilename":"README.md"}