{"_id":"@deckgl-fiber-renderer/reconciler","_rev":"8-ec841b61c9c2f579af91b6ea2f67b0a1","name":"@deckgl-fiber-renderer/reconciler","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.1":{"name":"@deckgl-fiber-renderer/reconciler","version":"1.0.1","license":"MIT","_id":"@deckgl-fiber-renderer/reconciler@1.0.1","maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"dist":{"shasum":"b99cdf5fde7f501d5ca3ee4050be9c92b831459a","tarball":"https://registry.npmjs.org/@deckgl-fiber-renderer/reconciler/-/reconciler-1.0.1.tgz","fileCount":23,"integrity":"sha512-1H5/hYx+/c3TB5JdmshWZiokcbXNgsiGkgpf1CZ+oT0LiVfFcZ1ZIrNXOkpid++GBqRSssQz/TXkRiWEgNCgIQ==","signatures":[{"sig":"MEUCIHCVTPmqL5wy5yNhWMteiRmfwvH/TSYFsahJ1qd4ZhrvAiEA3eAV4frft5gudh/JU1b1VSERHe58jGMZrtBqL1r2jyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68449},"type":"module","_from":"file:deckgl-fiber-renderer-reconciler-1.0.1.tgz","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"pnpm tsc --watch","lint":"pnpm biome lint","test":"pnpm vitest --dir=src","build":"pnpm tsup"},"_npmUser":{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"},"_resolved":"/tmp/bdd9cd747f77a7f1be49fba54b514aec/deckgl-fiber-renderer-reconciler-1.0.1.tgz","_integrity":"sha512-1H5/hYx+/c3TB5JdmshWZiokcbXNgsiGkgpf1CZ+oT0LiVfFcZ1ZIrNXOkpid++GBqRSssQz/TXkRiWEgNCgIQ==","_npmVersion":"10.9.2","directories":{},"sideEffects":true,"_nodeVersion":"22.14.0","dependencies":{"react-reconciler":"^0.31.0","@deckgl-fiber-renderer/types":"1.0.1","@deckgl-fiber-renderer/shared":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/react":"^19.0.0","@types/react-reconciler":"^0.31.0","esbuild-plugin-file-path-extensions":"^2.1.4"},"peerDependencies":{"react":"^19","react-dom":"^19","@deck.gl/core":"^9.1.0","@deck.gl/layers":"^9.1.0","@deck.gl/mapbox":"^9.1.0","@deck.gl/extensions":"^9.1.0","@deck.gl/geo-layers":"^9.1.0","@deck.gl/mesh-layers":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/reconciler_1.0.1_1741926014671_0.5203677328745766","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@deckgl-fiber-renderer/reconciler","version":"1.1.0","license":"MIT","_id":"@deckgl-fiber-renderer/reconciler@1.1.0","maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"dist":{"shasum":"84202c3c0538faefffc0184659e9fd8f22062016","tarball":"https://registry.npmjs.org/@deckgl-fiber-renderer/reconciler/-/reconciler-1.1.0.tgz","fileCount":23,"integrity":"sha512-6yJ1R/c2EcS58znUp42XiedBJ0A1thAuBZGABojKI5NefCrROQISs96SmxNWr8ZPJoqOe4a7YCY3JI6IuRIpyA==","signatures":[{"sig":"MEYCIQDCwJf551h0M4CJFUElFmWOTI1/xwYmFmiRUOrnRDSk3QIhAOc++z0+mncWIIreW5x48GjHXSCpu7Iqpip53rCPULpa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68449},"type":"module","_from":"file:deckgl-fiber-renderer-reconciler-1.1.0.tgz","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"pnpm tsc --watch","lint":"pnpm biome lint","test":"pnpm vitest --dir=src","build":"pnpm tsup"},"_npmUser":{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"},"_resolved":"/tmp/a534d02212258e92c43500d57d3833fd/deckgl-fiber-renderer-reconciler-1.1.0.tgz","_integrity":"sha512-6yJ1R/c2EcS58znUp42XiedBJ0A1thAuBZGABojKI5NefCrROQISs96SmxNWr8ZPJoqOe4a7YCY3JI6IuRIpyA==","_npmVersion":"10.9.2","directories":{},"sideEffects":true,"_nodeVersion":"22.14.0","dependencies":{"react-reconciler":"^0.31.0","@deckgl-fiber-renderer/types":"1.1.0","@deckgl-fiber-renderer/shared":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/react":"^19.0.0","@types/react-reconciler":"^0.31.0","esbuild-plugin-file-path-extensions":"^2.1.4"},"peerDependencies":{"react":"^19","react-dom":"^19","@deck.gl/core":"^9.1.0","@deck.gl/layers":"^9.1.0","@deck.gl/mapbox":"^9.1.0","@deck.gl/extensions":"^9.1.0","@deck.gl/geo-layers":"^9.1.0","@deck.gl/mesh-layers":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/reconciler_1.1.0_1742012480581_0.86086225408526","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@deckgl-fiber-renderer/reconciler","version":"1.1.1","license":"MIT","_id":"@deckgl-fiber-renderer/reconciler@1.1.1","maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"dist":{"shasum":"92edf91f81d47e7c50f3e0ceab5ae627e4accef9","tarball":"https://registry.npmjs.org/@deckgl-fiber-renderer/reconciler/-/reconciler-1.1.1.tgz","fileCount":23,"integrity":"sha512-KNqNqgacU5ApcpnroRQSi1Gws/FJM9MWYOhC+2IavIJxDp++zwtRxzlCB8E8U94wkyGs0rT/zJ1oCLJY6JYW8w==","signatures":[{"sig":"MEUCIQDbg9CeAMF8KDG13XdkyFJYvDxRzpzOGT7b2/f6NkRuUwIgW/8V/g4qpdsHsjD+kgvXh5KkTyXKCsC7lObTIqPaC9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68412},"type":"module","_from":"file:deckgl-fiber-renderer-reconciler-1.1.1.tgz","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"pnpm tsc --watch","lint":"pnpm biome lint","test":"pnpm vitest --dir=src","build":"pnpm tsup"},"_npmUser":{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"},"_resolved":"/tmp/d1a0adf609de5666254e3e731fefd78e/deckgl-fiber-renderer-reconciler-1.1.1.tgz","_integrity":"sha512-KNqNqgacU5ApcpnroRQSi1Gws/FJM9MWYOhC+2IavIJxDp++zwtRxzlCB8E8U94wkyGs0rT/zJ1oCLJY6JYW8w==","_npmVersion":"10.9.2","directories":{},"sideEffects":true,"_nodeVersion":"22.14.0","dependencies":{"react-reconciler":"^0.31.0","@deckgl-fiber-renderer/types":"1.1.1","@deckgl-fiber-renderer/shared":"1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/react":"^19.0.0","@types/react-reconciler":"^0.31.0","esbuild-plugin-file-path-extensions":"^2.1.4"},"peerDependencies":{"react":"^19","react-dom":"^19","@deck.gl/core":"^9.1.0","@deck.gl/layers":"^9.1.0","@deck.gl/mapbox":"^9.1.0","@deck.gl/geo-layers":"^9.1.0","@deck.gl/mesh-layers":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/reconciler_1.1.1_1742227233281_0.4652828714760149","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@deckgl-fiber-renderer/reconciler","version":"1.2.0","keywords":["react","renderer","fiber","deckgl","deck.gl"],"author":{"url":"https://github.com/brandonjpierce","name":"Brandon Pierce"},"license":"MIT","_id":"@deckgl-fiber-renderer/reconciler@1.2.0","maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"homepage":"https://github.com/deckgl-fiber-renderer/fiber.gl#readme","bugs":{"url":"https://github.com/deckgl-fiber-renderer/fiber.gl/issues"},"dist":{"shasum":"3aececc51bbb06542e604381b64f01fd0cd28d9e","tarball":"https://registry.npmjs.org/@deckgl-fiber-renderer/reconciler/-/reconciler-1.2.0.tgz","fileCount":23,"integrity":"sha512-JhMgcUEroCxT12NBEmXFhl/e1qu07XB66C1stjGgZ2XGMOMqBXCZKEC/vfFXFTJtuNIiDsqRZ/ll6v2vfkoHBw==","signatures":[{"sig":"MEUCIC4dgik4Uib0UqeIwryicnhKjj5Rz3kLQg0vpg+7yMy+AiEAxoNAg0klospqs3suCPceJfk4nGRgFAabgd/qt7wD7fQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69966},"type":"module","_from":"file:deckgl-fiber-renderer-reconciler-1.2.0.tgz","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"pnpm tsup --watch","lint":"pnpm biome lint","test":"pnpm vitest --dir=src","build":"pnpm tsup"},"_npmUser":{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"},"_resolved":"/tmp/d2bb31aa95f9cb2d14cfc0110e6ce6f7/deckgl-fiber-renderer-reconciler-1.2.0.tgz","_integrity":"sha512-JhMgcUEroCxT12NBEmXFhl/e1qu07XB66C1stjGgZ2XGMOMqBXCZKEC/vfFXFTJtuNIiDsqRZ/ll6v2vfkoHBw==","repository":{"url":"git+https://github.com/deckgl-fiber-renderer/fiber.gl.git","type":"git","directory":"packages/reconciler"},"_npmVersion":"10.9.2","directories":{},"sideEffects":true,"_nodeVersion":"22.14.0","dependencies":{"react-reconciler":"^0.31.0","@deckgl-fiber-renderer/types":"1.2.0","@deckgl-fiber-renderer/shared":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/react":"^19.0.0","@types/react-reconciler":"^0.31.0","esbuild-plugin-file-path-extensions":"^2.1.4"},"peerDependencies":{"react":"^19","react-dom":"^19","@deck.gl/core":"^9.1.0","@deck.gl/layers":"^9.1.0","@deck.gl/mapbox":"^9.1.0","@deck.gl/geo-layers":"^9.1.0","@deck.gl/mesh-layers":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/reconciler_1.2.0_1742268101874_0.556103735718565","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@deckgl-fiber-renderer/reconciler","version":"1.3.0","keywords":["react","renderer","fiber","deckgl","deck.gl"],"author":{"url":"https://github.com/brandonjpierce","name":"Brandon Pierce"},"license":"MIT","_id":"@deckgl-fiber-renderer/reconciler@1.3.0","maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"homepage":"https://github.com/deckgl-fiber-renderer/fiber.gl#readme","bugs":{"url":"https://github.com/deckgl-fiber-renderer/fiber.gl/issues"},"dist":{"shasum":"30a78e241f889f44c3004aa9be676f5b394ef542","tarball":"https://registry.npmjs.org/@deckgl-fiber-renderer/reconciler/-/reconciler-1.3.0.tgz","fileCount":23,"integrity":"sha512-5tlIfAwsJYSHbvb2B5dC7wo8M+rFQ7MkBMx8Nbz1ag0TcW/SXRLPOsrGFzIuFJ5mt8FDMSfuJQqvpfToKik9/w==","signatures":[{"sig":"MEQCIB8QPaAIJtLzH53+riy85jVmOyjePfLFoDd4milRQNrOAiAJ7brMcXzaqs9vxX39aysN3Avc00ymh3V+ibt+XnvT9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69966},"type":"module","_from":"file:deckgl-fiber-renderer-reconciler-1.3.0.tgz","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"pnpm tsup --watch","lint":"pnpm biome lint","test":"pnpm vitest --dir=src","build":"pnpm tsup"},"_npmUser":{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"},"_resolved":"/tmp/b933d172d9d363855746300f22cd3c99/deckgl-fiber-renderer-reconciler-1.3.0.tgz","_integrity":"sha512-5tlIfAwsJYSHbvb2B5dC7wo8M+rFQ7MkBMx8Nbz1ag0TcW/SXRLPOsrGFzIuFJ5mt8FDMSfuJQqvpfToKik9/w==","repository":{"url":"git+https://github.com/deckgl-fiber-renderer/fiber.gl.git","type":"git","directory":"packages/reconciler"},"_npmVersion":"10.9.2","directories":{},"sideEffects":true,"_nodeVersion":"22.14.0","dependencies":{"react-reconciler":"~0.31.0","@deckgl-fiber-renderer/types":"1.3.0","@deckgl-fiber-renderer/shared":"1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/react":"^19.0.0","@types/react-reconciler":"^0.31.0","esbuild-plugin-file-path-extensions":"^2.1.4"},"peerDependencies":{"react":"^19","react-dom":"^19","@deck.gl/core":"^9.1.0","@deck.gl/layers":"^9.1.0","@deck.gl/mapbox":"^9.1.0","@deck.gl/geo-layers":"^9.1.0","@deck.gl/mesh-layers":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/reconciler_1.3.0_1742396231683_0.7513975222107778","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@deckgl-fiber-renderer/reconciler","version":"1.4.0","keywords":["react","renderer","fiber","deckgl","deck.gl"],"author":{"url":"https://github.com/brandonjpierce","name":"Brandon Pierce"},"license":"MIT","_id":"@deckgl-fiber-renderer/reconciler@1.4.0","maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"homepage":"https://github.com/deckgl-fiber-renderer/fiber.gl#readme","bugs":{"url":"https://github.com/deckgl-fiber-renderer/fiber.gl/issues"},"dist":{"shasum":"7dac5fc414dc3b5cbe84d87b429e285b30a35a9a","tarball":"https://registry.npmjs.org/@deckgl-fiber-renderer/reconciler/-/reconciler-1.4.0.tgz","fileCount":23,"integrity":"sha512-p0ioK72bOJNWE6VPJZYt3iBOjzZGRLxqkO4PXnECSWDrCV4O+V8Vy9evWbjt6Co5BfqzNRLTb9QQPQT6UYCTMA==","signatures":[{"sig":"MEYCIQDM5VQpVgFw1MDrnLFMSXhzgvGAOuQ0ixi8Vsb1nKcmGQIhAJ9M19/foAs5JNub7F+Y2Lsp9cP9tRKhEXCHWA4kUApv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69952},"type":"module","_from":"file:deckgl-fiber-renderer-reconciler-1.4.0.tgz","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"default":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"pnpm tsup --watch","lint":"pnpm biome lint","test":"pnpm vitest --dir=src","build":"pnpm tsup"},"_npmUser":{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"},"_resolved":"/tmp/19bd9bdb51a5f9d62dbee06863be81cf/deckgl-fiber-renderer-reconciler-1.4.0.tgz","_integrity":"sha512-p0ioK72bOJNWE6VPJZYt3iBOjzZGRLxqkO4PXnECSWDrCV4O+V8Vy9evWbjt6Co5BfqzNRLTb9QQPQT6UYCTMA==","repository":{"url":"git+https://github.com/deckgl-fiber-renderer/fiber.gl.git","type":"git","directory":"packages/reconciler"},"_npmVersion":"10.9.2","directories":{},"sideEffects":true,"_nodeVersion":"22.15.0","dependencies":{"react-reconciler":"~0.31.0","@deckgl-fiber-renderer/types":"1.4.0","@deckgl-fiber-renderer/shared":"1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.8","typescript":"^5.8.2","@types/react":"^19.0.0","@types/react-reconciler":"^0.31.0","esbuild-plugin-file-path-extensions":"^2.1.4"},"peerDependencies":{"react":"^19","react-dom":"^19","@deck.gl/core":"^9.1.0","@deck.gl/layers":"^9.1.0","@deck.gl/mapbox":"^9.1.0","@deck.gl/geo-layers":"^9.1.0","@deck.gl/mesh-layers":"^9.1.0"},"_npmOperationalInternal":{"tmp":"tmp/reconciler_1.4.0_1746720232065_0.46361569572194483","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@deckgl-fiber-renderer/reconciler","version":"2.0.0","keywords":["deck.gl","deckgl","fiber","react","renderer"],"author":{"url":"https://github.com/brandonjpierce","name":"Brandon Pierce"},"license":"MIT","_id":"@deckgl-fiber-renderer/reconciler@2.0.0","maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"homepage":"https://github.com/deckgl-fiber-renderer/fiber.gl#readme","bugs":{"url":"https://github.com/deckgl-fiber-renderer/fiber.gl/issues"},"dist":{"shasum":"0f461da5f997da4c44716b2046f82ca16f60fe3b","tarball":"https://registry.npmjs.org/@deckgl-fiber-renderer/reconciler/-/reconciler-2.0.0.tgz","fileCount":23,"integrity":"sha512-rnN5fl3BtqqXc/O0GVqfyJ4KAnNQMM/RrBmDnRnn2ZfnNPN/3ksTuVvfSSZuYOjyo9+004wzd/Hgx7Sn5QexeQ==","signatures":[{"sig":"MEUCIQChtBwhHiI83mOYVa5s7TZuqVR5WMNbDrKsaoTd/CwffgIgcsDN1AtDtN4rIxuvSTADh/LT+FCc6kdLJlx3y0Cq6rA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284279},"type":"module","_from":"file:deckgl-fiber-renderer-reconciler-2.0.0.tgz","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package","exports":{".":"./dist/index.js","./types":"./dist/types.js","./utils":"./dist/utils.js","./config":"./dist/config.js","./extend":"./dist/extend.js","./renderer":"./dist/renderer.js","./package.json":"./package.json","./side-effects":"./dist/side-effects.js"},"private":false,"scripts":{"dev":"pnpm exec tsdown --watch","lint":"pnpm exec ultracite check","test":"pnpm exec vitest --dir=src","build":"pnpm exec tsdown","format":"pnpm exec ultracite fix"},"_npmUser":{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"},"_resolved":"/tmp/f30a3e5d966724c1f8c5d8b483b342e4/deckgl-fiber-renderer-reconciler-2.0.0.tgz","_integrity":"sha512-rnN5fl3BtqqXc/O0GVqfyJ4KAnNQMM/RrBmDnRnn2ZfnNPN/3ksTuVvfSSZuYOjyo9+004wzd/Hgx7Sn5QexeQ==","repository":{"url":"git+https://github.com/deckgl-fiber-renderer/fiber.gl.git","type":"git","directory":"packages/reconciler"},"_npmVersion":"11.11.0","description":"> **Internal package.** Most users want [@deckgl-fiber-renderer/dom](../dom) instead.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"react-reconciler":"0.33.0","@deckgl-fiber-renderer/types":"2.0.0","@deckgl-fiber-renderer/shared":"2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29","react":"^19","tsdown":"^0.21.8","vitest":"^4","react-dom":"^19","fast-check":"^4","typescript":"^6","@types/react":"^19","@deck.gl/core":">=9.1","@deck.gl/layers":">=9.1","@deck.gl/mapbox":">=9.1","@deck.gl/geo-layers":">=9.1","@deck.gl/test-utils":"^9.2.11","@vitest/coverage-v8":"^4","@deck.gl/mesh-layers":">=9.1","@types/react-reconciler":"0.33.0"},"peerDependencies":{"react":"^19","react-dom":"^19","@deck.gl/core":">=9.1","@deck.gl/layers":">=9.1","@deck.gl/mapbox":">=9.1","@deck.gl/geo-layers":">=9.1","@deck.gl/mesh-layers":">=9.1"},"_npmOperationalInternal":{"tmp":"tmp/reconciler_2.0.0_1776790892617_0.23472843427819123","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"$schema":"https://json.schemastore.org/package","name":"@deckgl-fiber-renderer/reconciler","version":"2.0.1","private":false,"keywords":["deck.gl","deckgl","fiber","react","renderer"],"bugs":{"url":"https://github.com/deckgl-fiber-renderer/fiber.gl/issues"},"license":"MIT","author":{"name":"Brandon Pierce","url":"https://github.com/brandonjpierce"},"maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/deckgl-fiber-renderer/fiber.gl.git","directory":"packages/reconciler"},"type":"module","sideEffects":false,"types":"./dist/index.d.ts","exports":{".":"./dist/index.js","./config":"./dist/config.js","./extend":"./dist/extend.js","./renderer":"./dist/renderer.js","./side-effects":"./dist/side-effects.js","./types":"./dist/types.js","./utils":"./dist/utils.js","./package.json":"./package.json"},"publishConfig":{"access":"public"},"dependencies":{"react-reconciler":"0.33.0","@deckgl-fiber-renderer/types":"2.0.1","@deckgl-fiber-renderer/shared":"2.0.1"},"devDependencies":{"@deck.gl/core":">=9.1","@deck.gl/geo-layers":">=9.1","@deck.gl/layers":">=9.1","@deck.gl/mapbox":">=9.1","@deck.gl/mesh-layers":">=9.1","@deck.gl/test-utils":"^9.2.11","@types/react":"^19","@types/react-reconciler":"0.33.0","@vitest/coverage-v8":"^4","fast-check":"^4","jsdom":"^29","react":"^19","react-dom":"^19","tsdown":"^0.21.8","typescript":"^6","vitest":"^4"},"peerDependencies":{"@deck.gl/core":">=9.1","@deck.gl/geo-layers":">=9.1","@deck.gl/layers":">=9.1","@deck.gl/mapbox":">=9.1","@deck.gl/mesh-layers":">=9.1","react":"^19","react-dom":"^19"},"scripts":{"build":"pnpm exec tsdown","dev":"pnpm exec tsdown --watch","format":"pnpm exec ultracite fix","lint":"pnpm exec ultracite check","test":"pnpm exec vitest --dir=src"},"_id":"@deckgl-fiber-renderer/reconciler@2.0.1","description":"> **Internal package.** Most users want [@deckgl-fiber-renderer/dom](../dom) instead.","homepage":"https://github.com/deckgl-fiber-renderer/fiber.gl#readme","_integrity":"sha512-DyFsFZTmkML2sb3KLDGjotZ3p0GLr65JjD0fA+e/EkL1VgRZltGzjL7f3rYfsVN6J61oDB2+IE9YprcYT8UYsA==","_resolved":"/tmp/0b58b095d5fffe10866b0ec14fcdb97a/deckgl-fiber-renderer-reconciler-2.0.1.tgz","_from":"file:deckgl-fiber-renderer-reconciler-2.0.1.tgz","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-DyFsFZTmkML2sb3KLDGjotZ3p0GLr65JjD0fA+e/EkL1VgRZltGzjL7f3rYfsVN6J61oDB2+IE9YprcYT8UYsA==","shasum":"74b93e7bf56f29b979b711edb77f8c5a38ce8401","tarball":"https://registry.npmjs.org/@deckgl-fiber-renderer/reconciler/-/reconciler-2.0.1.tgz","fileCount":23,"unpackedSize":284279,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCKN5u7Gcx7mczaXK65Jq+ZeDbrczP9TetFSYEmpM7QtwIgLeVqz6L1Z2Q0mGxhB5zdqDTYEUBg1ApDHNdYJ13fXf4="}]},"_npmUser":{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/reconciler_2.0.1_1779803760116_0.3194610868116148"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-14T04:20:14.533Z","modified":"2026-05-26T13:56:00.430Z","1.0.1":"2025-03-14T04:20:14.885Z","1.1.0":"2025-03-15T04:21:20.769Z","1.1.1":"2025-03-17T16:00:33.449Z","1.2.0":"2025-03-18T03:21:42.094Z","1.3.0":"2025-03-19T14:57:11.860Z","1.4.0":"2025-05-08T16:03:52.400Z","2.0.0":"2026-04-21T17:01:32.768Z","2.0.1":"2026-05-26T13:56:00.275Z"},"bugs":{"url":"https://github.com/deckgl-fiber-renderer/fiber.gl/issues"},"author":{"name":"Brandon Pierce","url":"https://github.com/brandonjpierce"},"license":"MIT","homepage":"https://github.com/deckgl-fiber-renderer/fiber.gl#readme","keywords":["deck.gl","deckgl","fiber","react","renderer"],"repository":{"type":"git","url":"git+https://github.com/deckgl-fiber-renderer/fiber.gl.git","directory":"packages/reconciler"},"description":"> **Internal package.** Most users want [@deckgl-fiber-renderer/dom](../dom) instead.","maintainers":[{"name":"brandonjpierce","email":"brandonpierce91@gmail.com"}],"readme":"# @deckgl-fiber-renderer/reconciler\n\n> **Internal package.** Most users want [@deckgl-fiber-renderer/dom](../dom) instead.\n\nReact reconciler implementation for deck.gl. Powers the JSX-to-deck.gl bridge but is rarely used directly.\n\n## Installation\n\n```bash\npnpm add @deckgl-fiber-renderer/reconciler\n```\n\nAutomatically installed as a dependency of `@deckgl-fiber-renderer/dom`. Only install directly if building custom renderers or contributing.\n\n---\n\n## Architecture\n\n### What is a React Reconciler?\n\nReact's reconciler diffs element trees and determines what changed. The `react-reconciler` package lets you build custom renderers for non-DOM targets.\n\n```\nReact JSX → Reconciler → Flattened layers/views → Deck instance\n```\n\n### Persistence Mode\n\nThis reconciler uses **persistence mode** (creates new objects) instead of **mutation mode** (updates in place).\n\n**Rationale:** deck.gl layers are immutable descriptors designed to be replaced:\n\n> \"Layers are descriptor objects that are very cheap to instantiate. Create a new set of layers every render cycle.\" - [deck.gl docs](https://deck.gl/docs/developer-guide/using-layers)\n\ndeck.gl diffs layers internally by matching IDs and comparing props. The reconciler creates new layer instances; deck.gl's algorithm handles efficient updates.\n\n### Tree Flattening\n\ndeck.gl expects flat arrays, but React trees are nested. The reconciler flattens automatically:\n\n**Input (JSX):**\n\n```tsx\n<Deckgl>\n  <view view={mainView}>\n    <layer layer={layer1} />\n    <layer layer={layer2} />\n  </view>\n</Deckgl>\n```\n\n**Output (flattened):**\n\n```js\n{\n  layers: [layer1, layer2],\n  views: [mainView]\n}\n```\n\nLayers can nest arbitrarily deep in React components. The reconciler collects them recursively.\n\n### ID-Based Diffing\n\ndeck.gl matches layers by ID for efficient updates:\n\n1. Match layers by ID\n2. Diff props for matching IDs\n3. Update only changed props\n\n**Without IDs:** deck.gl generates random IDs. Each render looks like a new layer, triggering expensive re-initialization.\n\nThis is why the reconciler validates IDs in development mode.\n\n**Learn more:** https://deck.gl/docs/developer-guide/using-layers#layer-identity-and-diffing\n\n---\n\n## Reference\n\n### Exported APIs\n\n#### `createRoot(container)`\n\nCreates a reconciler root for a container element.\n\n```tsx\nimport { createRoot } from \"@deckgl-fiber-renderer/reconciler\";\n\nconst root = createRoot(canvasElement);\nroot.configure({ initialViewState: { ... } });\nroot.render(<layer layer={...} />);\n```\n\n**Parameters:**\n\n- `container` - DOM element (canvas or div) to render into\n\n**Returns:** `ReconcilerRoot`\n\n#### `unmountAtNode(container)`\n\nUnmounts and cleans up a reconciler root.\n\n```tsx\nimport { unmountAtNode } from \"@deckgl-fiber-renderer/reconciler\";\n\nunmountAtNode(canvasElement);\n```\n\n**Parameters:**\n\n- `container` - DOM element to unmount from\n\n**Cleanup:** Unmounts React tree, destroys deck.gl instance, releases GPU resources, removes from `roots` registry.\n\n#### `roots`\n\nMap of active reconciler roots.\n\n```tsx\nimport { roots } from \"@deckgl-fiber-renderer/reconciler\";\n\nif (roots.has(canvasElement)) {\n  const existingRoot = roots.get(canvasElement);\n  // Work with existing root\n}\n```\n\n**Type:** `Map<RootElement, ReconcilerRoot>`\n\n**Usage:** Ensures root idempotency. Check before creating new roots to avoid duplicates.\n\n#### `extend(objects)` (deprecated)\n\nRegisters layer/view constructors for v1 syntax.\n\n```tsx\nimport { extend } from \"@deckgl-fiber-renderer/reconciler\";\n\nextend({ MyCustomLayer });\n```\n\n**Deprecated:** Will be removed in v3. Use `<layer layer={new MyCustomLayer(...)} />` instead of registering.\n\n#### `ReconcilerRoot`\n\nType for reconciler root instances.\n\n```tsx\ntype ReconcilerRoot = {\n  configure(props: DeckglProps): void;\n  render(element: ReactNode): void;\n  unmount(): void;\n};\n```\n\n---\n\n## Development Mode Features\n\n### Validation System\n\nThe reconciler validates layers in development mode (`process.env.NODE_ENV === \"development\"`). Checks are stripped from production builds via dead code elimination.\n\n#### Missing ID Warning\n\nTriggered when a layer lacks an explicit `id` prop:\n\n```\n⚠️ Layer missing explicit \"id\" prop. This causes expensive reinitialization on every render.\n```\n\n**Detection:** Checks for missing or default IDs (`\"unknown\"`).\n\n**Fix:** Add explicit `id` to layer constructor.\n\n#### Duplicate ID Error\n\nTriggered when multiple layers share the same ID:\n\n```\n❌ Duplicate layer IDs detected: points, lines\n```\n\n**Detection:** Tracks all layer IDs in current render.\n\n**Impact:** Duplicate IDs break deck.gl's diffing. Props from one layer may apply to another.\n\n**Fix:** Ensure each layer has a unique `id`.\n\n#### Production Behavior\n\nAll validation wrapped in `if (process.env.NODE_ENV === 'development')` checks. Bundlers eliminate this code in production builds. Zero runtime overhead in production.\n\n---\n\n## Related Packages\n\n- **[@deckgl-fiber-renderer/dom](../dom)** - Main package users install\n- **[@deckgl-fiber-renderer/types](../types)** - TypeScript definitions\n\n## Further Reading\n\n- [React Reconciler](https://github.com/facebook/react/tree/main/packages/react-reconciler)\n- [Building a Custom Renderer](https://agent-hunt.medium.com/hello-world-custom-react-renderer-9a95b7cd04bc)\n- [deck.gl Layer Lifecycle](https://deck.gl/docs/developer-guide/custom-layers/layer-lifecycle)\n","readmeFilename":"README.md"}