{"_id":"@brewsite/diagram","_rev":"12-875cf0c7faddd56d8f17886b6410886c","name":"@brewsite/diagram","dist-tags":{"latest":"0.9.0"},"versions":{"0.6.2":{"name":"@brewsite/diagram","version":"0.6.2","_id":"@brewsite/diagram@0.6.2","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"81ffba3b9a918d3420569e4fc4936a559eca089e","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.6.2.tgz","fileCount":264,"integrity":"sha512-fH4hC+DORrRehkuM+aO2dsRf5kKDleJIF8cNFvUrUQEJnmeAhWROiYBwiRfw4yf9cKnd6uDcNyFjUI45tJpcaA==","signatures":[{"sig":"MEYCIQDe6silyPSGVT1wIxILwIwFNppnj82nQZdja3pP5GVwzAIhAOWcJRf2ercDYrFC4rz7LaLWt16nzqMmLe917CdQTEi4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1299900},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"87192c9fbb6d4846aa05adb6fd61f789fcce6db9","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.6.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":"^0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"workspace:*","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.6.2_1773853174881_0.20796197744352596","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@brewsite/diagram","version":"0.6.3","_id":"@brewsite/diagram@0.6.3","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"e46edb7282b52a19fb93764b397e6caee0d2f907","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.6.3.tgz","fileCount":264,"integrity":"sha512-T5XBVwWdWR4dJM2wmFXL8ouChBT3cAwWZFuIgGnYHgh8G9DLyTGAnQ1o2imleDyPN+CqRKfFbd59mNBUBCc/PQ==","signatures":[{"sig":"MEUCIAvBRUrJ7BjkQM/aeXJkk+6db/FurWAM7LnWWlTDe7PiAiEA87b2bu06SijEfXrfsKlBg3VwjdPcRAtrmhHsYOA+rVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1299900},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"87192c9fbb6d4846aa05adb6fd61f789fcce6db9","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.6.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":"^0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"workspace:*","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.6.3_1773853699226_0.30136955573372526","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@brewsite/diagram","version":"0.6.4","_id":"@brewsite/diagram@0.6.4","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"1ce476dfc7823185a7e98f10448e57ca418284b4","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.6.4.tgz","fileCount":264,"integrity":"sha512-1Z41/L0iyw95doeCK4aJpPmq+J5R4lXpkvy0YHBRhc5ZwHchAxiOzP9gtOhDUTcif0Yix+x09HL0sSaP4K1r+Q==","signatures":[{"sig":"MEYCIQDaJAXSO357SfkscAbmup1j8H8GB/9NYf4gU+Qi3lSRJQIhAMOmqCh6i8/F0EsE/RVAjHmT71qjIkw3wqzsU96L7tuL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1299901},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"87192c9fbb6d4846aa05adb6fd61f789fcce6db9","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.6.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"workspace:*","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.6.4_1773854784733_0.10421703528930637","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@brewsite/diagram","version":"0.6.5","_id":"@brewsite/diagram@0.6.5","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"ad999b3eac368f815734f0f403b3b9d826f19fe8","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.6.5.tgz","fileCount":264,"integrity":"sha512-HB/Dwq3OZHgqP239Po/446XYILdj+Sco0YN52MV9MMVCHJ7Mwx9YM5sODniukEB66r1hPwlyU6w+eNG/hwiwBw==","signatures":[{"sig":"MEYCIQDQ0ApjqzhCdgP/SA7UIBk76mM4ZaEiL3iPuNJEcwfmWAIhAMGrk3DBhPGmcuMst5xM70zcoNJCU+yAwLfpqLxCZjlo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1299777},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"f28e5152f6a1369808fe38e2364119cf789b0435","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.6.5"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"workspace:*","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.6.5_1773859143835_0.2952324456305626","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@brewsite/diagram","version":"0.7.1","_id":"@brewsite/diagram@0.7.1","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"b13c700dcccf8b12447396f87b7225c5bd38a58a","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.7.1.tgz","fileCount":264,"integrity":"sha512-fNakW8cGhwYMh7iRLp6ygPflqvIZE7l+nIVAEcQF3nFIyWtbWoU/8VpErsXI3oKh8mQ+t/Yt56VPruIVz1X7Qw==","signatures":[{"sig":"MEUCIHMzXiY7eNgvwnMUsCTIH7U0IE4EqeWjw7ywJ0TRVuUqAiEAzAeluq2q94fxD/LrY4hpLOxXWMzXwL6/BruLww83s+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1312221},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"bd22d1fc9b865b1b07efdd5cac7f554175e756d7","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"workspace:*","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.7.1_1773974031701_0.5090522700098257","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@brewsite/diagram","version":"0.7.5","_id":"@brewsite/diagram@0.7.5","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"729b845e162fbb4ef2a5462b71eb343a97bbcb4d","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.7.5.tgz","fileCount":288,"integrity":"sha512-3so5F9fx9BubapCXVr3S8r/avVbJhm4IptnhlSTRNCK2cR6j9jQneawWrpb1P7mzwpN4ehvJjlTJzNnOn3nHUw==","signatures":[{"sig":"MEYCIQDiBNvBhl0NIthj2Ht74zRWr4tjmVJMVEvVyXL0aWuINgIhAPQBdn6yiEXg4FS/aYFCgqjKgnl9aelBPlgmlitXGnrT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1452759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"cde4a8cd769fe785ee2b0adaaa9de29974d8ef33","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.7.5"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"workspace:*","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.7.5_1774297680532_0.7165058109070888","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@brewsite/diagram","version":"0.7.6","_id":"@brewsite/diagram@0.7.6","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"f69a6b34e4b05129633fea6e0046c08a7b5a9639","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.7.6.tgz","fileCount":288,"integrity":"sha512-yuRJiLRvhsoa3nXc4sj13VQBY5ZfWrj+mMoQerY+PWs5dxvmheaKTcjE+ZO0GrHqZ9o3aOSvcQTt6dcpEztsvg==","signatures":[{"sig":"MEUCIQCwn5FzSRd4f+Vqy5vkvJAaF+pt8mJLbn1HaCasDXp3vAIgHC1+lzkNoSfyXSV6UVqonG2oJjwDHRgCMFWp6t/B5iQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1452759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"8621541427b323ca4325c6843d64b45777c1444a","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.7.6"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"workspace:*","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.7.6_1774303286903_0.7275172179854013","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@brewsite/diagram","version":"0.8.0","_id":"@brewsite/diagram@0.8.0","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"c94cbc7ae21ffe1dd5b5a3c72e3a1ad3fa55a032","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.8.0.tgz","fileCount":288,"integrity":"sha512-zEP1mIHNk2QLeJ86T3um4HtCOETMZDIT150RcWYpoUXWKQgqR0CUrBbgqOsggTRHOl2DcC/Ioc3YCvQqsqQFyA==","signatures":[{"sig":"MEYCIQDZ5dp45sphWS0Tpo1MkO/9ve9BweJItPH9Y6uJ29zvuwIhALKhM4K2WgxP2h/FR97lNZSXPrFeTiDnrxQlbwrA7+mk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1452759},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"28fa3d6af074af14c85ae653aeac77b82bcd028f","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.8.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"workspace:*","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.8.0_1774354834972_0.852525527638172","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@brewsite/diagram","version":"0.8.1","_id":"@brewsite/diagram@0.8.1","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"038ba8acecae460413ad86a2e7611dd5701abfb0","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.8.1.tgz","fileCount":288,"integrity":"sha512-sHX3x9CX0puUiUkqf979g37AiF+X4dLDcqVPy95ohW1MgQtt44CbaP/Tgk6i2sxmcain5PjLviK8AqEUUM/7mQ==","signatures":[{"sig":"MEYCIQC6/E8ytehSlVBe4ppq08+yOGmPZVnApITJ4kX1OnbTKgIhAOgLDw13mZJsSzBRyQqLxIS+W3R/SviVcrlO2W03JgjB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1452753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"d57bf6724c758eb2f0173952a16ecaf9c0277a72","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"0.8.1","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.8.1_1774356668735_0.45832582463748084","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@brewsite/diagram","version":"0.8.2","_id":"@brewsite/diagram@0.8.2","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"5f81126ae0fecaeacf4b1a09ff253604361b9e7e","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.8.2.tgz","fileCount":288,"integrity":"sha512-tnap3dvfDtNTWQPRH1Sz0PonWkT7KI8S9Zjf9qRhIqxlkJR5gumtaEwPwr1ic6ztENUmBWQgnS/N9SrAWllnxw==","signatures":[{"sig":"MEYCIQDEmjaF+NOplfqMZOced6Noj0a9bFF8jSGhvR0yiSOl+AIhAPl03ZddlUq5aUCbXY0dLr7t4fRPTy+/UEANYXU6TH/f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1452753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"bbdff52241603bc7ac81c3e23d2049763641a2a4","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"0.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:*","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"0.8.1","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.8.2_1774362379660_0.5863013832938664","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@brewsite/diagram","version":"0.8.3","_id":"@brewsite/diagram@0.8.3","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"dist":{"shasum":"33d34d92b726eb2e057d5ca951df6d341f2c95a2","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.8.3.tgz","fileCount":288,"integrity":"sha512-RDaiSTMfmX52KtYAzwa3doN9Bbr+foaiegTCIGMkLXg08sg/XOMmyNj24TLpDr9Pu4+2R7mnai0/lI3KObPpOA==","signatures":[{"sig":"MEUCIGQfU1St2QmrNSwCKO2lsz1WLGw3UfmYLWJniN7gOgonAiEAjBJPJ2btHTiTCfVN5xofItsi3My082OHGeGb70xLw2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1452755},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"}},"gitHead":"001df7c75654fc2f21b2fd18741fd6638693695e","private":false,"scripts":{"test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.build.json","coverage":"vitest run --coverage","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs","test:watch":"vitest"},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"_npmVersion":"11.6.2","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","directories":{},"_nodeVersion":"25.1.0","dependencies":{"@brewsite/core":"^0.8.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.21","vitest":"^2.1.9","vite-node":"^5.3.0","typescript":"^5.9.3","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/three":"^0.183.1","@brewsite/core":"workspace:^","@types/react-dom":"^19.2.3","troika-three-text":"^0.52.4","@vitest/coverage-v8":"^2.1.9","@vitejs/plugin-react":"^4.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","three":">=0.170.0","react-dom":"^18.0.0 || ^19.0.0","@brewsite/core":"^0.8.3","troika-three-text":"^0.52.4"},"_npmOperationalInternal":{"tmp":"tmp/diagram_0.8.3_1774363081483_0.5197509110427039","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@brewsite/diagram","version":"0.9.0","private":false,"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js","default":"./dist/testing.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js","default":"./dist/vite.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","build:lib":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","test":"vitest run --passWithNoTests","test:watch":"vitest","coverage":"vitest run --coverage","gen-envmap":"node ../../scripts/gen-diagram-envmap.mjs"},"peerDependencies":{"@brewsite/core":"^0.9.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","three":">=0.170.0","troika-three-text":"^0.52.4"},"devDependencies":{"@brewsite/core":"workspace:^","@types/node":"^22.19.15","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@types/three":"^0.183.1","@vitejs/plugin-react":"^4.7.0","@vitest/coverage-v8":"^2.1.9","troika-three-text":"^0.52.4","typescript":"^5.9.3","vite":"^5.4.21","vite-node":"^5.3.0","vitest":"^2.1.9"},"dependencies":{"@brewsite/core":"^0.9.0"},"gitHead":"f85184e23f74297a00fc8bc819e49b3c008de558","_id":"@brewsite/diagram@0.9.0","description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","_nodeVersion":"25.1.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-NTArTxNIt3eyg7x80wJK/8uWaoga4OeYdP+NUuMM8CtqDHOiix7KytjgSA8f7Zion2LT37Qfw/JQfacxRcuyhw==","shasum":"6cc960314f190cefca70ef5e8796a738b55eeb7d","tarball":"https://registry.npmjs.org/@brewsite/diagram/-/diagram-0.9.0.tgz","fileCount":291,"unpackedSize":1470984,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCFr0HYfu2gUNn8b81uozm8YdnedAY6NCYLMIutWlNqlQIhAIztIOsAEv7nywbTLzm2CfEzrzHJL9df5/XBig3ZZJyf"}]},"_npmUser":{"name":"dbrewster","email":"dave@augustdata.ai"},"directories":{},"maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/diagram_0.9.0_1774442108083_0.8463468571821662"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T16:59:34.779Z","modified":"2026-03-25T12:35:08.454Z","0.6.2":"2026-03-18T16:59:35.141Z","0.6.3":"2026-03-18T17:08:19.415Z","0.6.4":"2026-03-18T17:26:24.903Z","0.6.5":"2026-03-18T18:39:04.017Z","0.7.1":"2026-03-20T02:33:51.878Z","0.7.5":"2026-03-23T20:28:00.760Z","0.7.6":"2026-03-23T22:01:27.196Z","0.8.0":"2026-03-24T12:20:35.175Z","0.8.1":"2026-03-24T12:51:08.939Z","0.8.2":"2026-03-24T14:26:19.959Z","0.8.3":"2026-03-24T14:38:01.693Z","0.9.0":"2026-03-25T12:35:08.321Z"},"description":"3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provid","maintainers":[{"name":"dbrewster","email":"dave@augustdata.ai"}],"readme":"# @brewsite/diagram\n\n3D immersive diagram, canvas, image-panel, and screen elements for the BrewSite Scene Toolkit. Built on top of `@brewsite/core`, this package adds interactive architectural diagram rendering with node/edge/group layouts, animated transitions, cloud provider icon support, and multiple visual themes.\n\n## Installation\n\n```bash\nnpm install @brewsite/diagram @brewsite/core react react-dom three\n```\n\nPeer dependencies: `react ^19`, `react-dom ^19`, `three ^0.183`.\n\n## Overview\n\n`@brewsite/diagram` provides Three.js-rendered diagram elements that integrate with the `@brewsite/core` widget registry and scene compiler. Diagrams are authored declaratively in the scene DSL — no imperative Three.js in scene files.\n\n## Quick Start\n\n**1. Declare the scene** (DSL-only, purely declarative):\n\n```tsx\n// scenes/myScene.tsx\nimport type { SceneDefinition } from '@brewsite/core';\nimport { Scene, Lighting, Ambient, Directional } from '@brewsite/core';\nimport { DiagramCanvas, Diagram, DiagramNode, DiagramEdge, HierarchicalLayout } from '@brewsite/diagram';\n\nexport const myScene: SceneDefinition = {\n  id: 'arch',\n  index: 0,\n  getFrame: () => (\n    <Scene id=\"arch\">\n      <Lighting intensityScale={1}>\n        <Ambient intensity={1.5} color=\"#ffffff\" />\n        <Directional intensity={2.5} color=\"#ffffff\" position={[10, 30, 60]} />\n      </Lighting>\n      <DiagramCanvas id=\"main-canvas\" tilt={-Math.PI / 6}>\n        <Diagram id=\"arch-diagram\" pivot=\"center\">\n          <HierarchicalLayout spacing={[3, 2]} />\n          <DiagramNode id=\"api\"   label=\"API Gateway\" icon=\"aws:api-gateway\" />\n          <DiagramNode id=\"svc\"   label=\"Service\"     icon=\"aws:ecs\" />\n          <DiagramNode id=\"db\"    label=\"Database\"    icon=\"aws:rds\" />\n          <DiagramEdge from=\"api\" to=\"svc\" label=\"REST\" />\n          <DiagramEdge from=\"svc\" to=\"db\"  label=\"TCP\" />\n        </Diagram>\n      </DiagramCanvas>\n    </Scene>\n  ),\n};\n```\n\n**2. Register the plugin** (replaces manual widget setup):\n\n```tsx\n// App.tsx\nimport { useMemo } from 'react';\nimport { SceneEngine, corePlugin } from '@brewsite/core';\nimport { diagramPlugin } from '@brewsite/diagram';\nimport { myScene } from './scenes/myScene';\n\nexport default function Page() {\n  const diagPlugin = useMemo(() => diagramPlugin(), []);\n  return (\n    <SceneEngine\n      sceneGroup={{ id: 'demo', scenes: [myScene] }}\n      plugins={[corePlugin(), diagPlugin]}\n      framesPerTick={100}\n      pixelsPerScene={1600}\n    />\n  );\n}\n```\n\n`diagramPlugin()` automatically registers `DiagramCanvasWidget` instances at compile time — no separate `widgetSetup.ts` file required for diagram canvases.\n\n## Key Exports\n\n### DSL Components\n\n| Export | Description |\n|---|---|\n| `Diagram` | Root diagram element (nodes, edges, groups) |\n| `DiagramNode` | A single node in the diagram |\n| `DiagramEdge` | A directed edge between nodes |\n| `DiagramGroup` | A group container for nodes |\n| `DiagramEnter` / `DiagramExit` | Per-diagram animated enter/exit transitions |\n| `GridLayout` / `HierarchicalLayout` / `ManualLayout` | Layout DSL wrappers |\n| `DiagramCanvas` | Orthographic 3D scene with camera orbit/dolly/focus |\n| `DiagramPipe` | 3D pipe connection between canvas diagram positions |\n| `ImagePanel` | 3D image panel with bezel, gloss, and glow |\n| `Screen` | 3D screen element (live URL or static src) |\n\n### Compile Functions\n\n| Export | Description |\n|---|---|\n| `compileDiagram` | Compile a diagram DSL to initial `DiagramState` |\n| `compileCanvas` | Compile a canvas (containing diagrams and pipes) to initial state |\n| `compileImagePanel` | Compile an image panel to initial state |\n| `compileScreen` | Compile a screen to initial state |\n| `resolveLayout` | Resolve node positions from a layout DSL |\n| `routeEdges` | Route edges between positioned nodes |\n\n### Plugin Factory\n\n```ts\nimport { diagramPlugin } from '@brewsite/diagram';\n\n// Pass to SceneEngine plugins prop\nconst plugin = diagramPlugin();\n```\n\n`diagramPlugin()` handles compiler handler registration and auto-creates `DiagramCanvasWidget` instances on first DSL encounter. Use it instead of calling `registerDiagramHandlers()` manually.\n\n### Widget Classes\n\n| Export | Description |\n|---|---|\n| `DiagramCanvasWidget` | Runtime widget for `DiagramCanvas` elements |\n| `ImagePanelWidget` | Runtime widget for `ImagePanel` elements |\n| `ScreenWidget` | Runtime widget for `Screen` elements |\n\n> **Note:** `DiagramWidget` is an internal implementation class and is not part of the public API. Use `DiagramCanvasWidget` (via `diagramPlugin()`) for all diagram rendering.\n\n### Theme Helpers\n\n```ts\nimport { darkGlassTheme, neonCyberTheme, enterpriseTheme, lightMinimalTheme } from '@brewsite/diagram';\nimport { mergeTheme } from '@brewsite/diagram';\n\n// Custom theme from preset — override just the parts you need\nconst brandTheme = mergeTheme(darkGlassTheme, {\n  node: { defaultColor: '#2a1a40' },\n  edge: { routing: 'orthogonal', defaultColor: '#ff6b35' },\n});\n```\n\nPass a theme to `<Diagram theme={...}>` or to `<DiagramCanvas theme={...}>` (canvas theme acts as fallback for all child diagrams).\n\n### Focus Region\n\n```ts\nimport { useDiagramFocusRegion, DIAGRAM_FOCUS_REGION_EVENT } from '@brewsite/diagram';\n```\n\nUsed to programmatically focus the camera on a specific node or region within a `DiagramCanvas`.\n\n## Visual Themes\n\n| Theme | Description |\n|---|---|\n| `darkGlassTheme` | Dark glass panels with glowing edges |\n| `neonCyberTheme` | Neon cyberpunk style |\n| `enterpriseTheme` | Clean enterprise / corporate look |\n| `lightMinimalTheme` | Light minimal style |\n\n## Key Node Props\n\n| Prop | Type | Description |\n|---|---|---|\n| `id` | `string` | Unique ID within the diagram (required) |\n| `label` | `string \\| undefined` | Primary label text. **Omit entirely** (not `label=\"\"`) to declare a ghost node that inherits from the prior scene. |\n| `thickness` | `number` | Physical prism depth in diagram units. Default: from theme. |\n| `glow` | `boolean \\| { intensity?, color? }` | Emissive glow override. Omit to inherit from theme. |\n| `icon` | `DiagramIconVariant` | SVG icon on the front face (e.g. `\"aws:s3\"`, `\"ui:user\"`) |\n| `shape` | `DiagramNodeShape` | Geometry shape. Default: `'rectangle'` |\n\n## Ghost Nodes\n\nA ghost node is a `<DiagramNode>` whose `label` prop is absent (not provided). It inherits its label, shape, icon, size, and thickness from the matching node in the previous scene, enabling drill-down animations.\n\n```tsx\n// Scene 1: full diagram\n<DiagramNode id=\"api\" label=\"API Gateway\" icon=\"aws:api-gateway\" size={[4, 2]} />\n\n// Scene 2: spotlight a different node; keep API Gateway as faded context\n<DiagramNode id=\"api\" opacity={0.2} />  // ← ghost: label absent, inherits from Scene 1\n```\n\nSetting `label=\"\"` (explicit empty string) is **not** a ghost node. It declares a blank-label node and keeps all other props as authored.\n\n## Icon Support\n\nNode icons are referenced via `icon` strings in the format `\"provider:name\"`:\n\n- `aws:*` — AWS service icons (e.g., `aws:s3`, `aws:rds`, `aws:ecs`, `aws:lambda`)\n- `gcp:*` — Google Cloud icons\n- `azure:*` — Azure icons\n- `net:*` — Network/infrastructure icons\n- `ui:*` — Generic UI icons (e.g., `ui:user`, `ui:server`)\n- `tech:*` — Technology icons (e.g., `tech:react`, `tech:postgresql`)\n- `security:*` — Security icons\n- `data:*` — Data/analytics icons\n\nIcons are synced from [simple-icons](https://simpleicons.org) and [heroicons](https://heroicons.com) via `pnpm sync:icons` in the monorepo.\n\n### 3D Icon Styles\n\nThe `iconStyle` prop on `DiagramNode` controls how SVG icons are extruded into 3D geometry:\n\n| Style | Description |\n|---|---|\n| `layered` | Background colour slab + white symbol raised above it (ideal for two-layer SVGs like AWS icons) |\n| `extruded` | All paths extruded to the same depth; PBR side faces catch lighting |\n| `embossed` | Shallow extrusion with wide bevel chamfer — coin/medallion look |\n\n## Peer Dependencies\n\n| Package | Version |\n|---|---|\n| `@brewsite/core` | ^0.4 |\n| `react` | ^19 |\n| `react-dom` | ^19 |\n| `three` | ^0.183 |\n\n## Architecture\n\n`@brewsite/diagram` follows the same mandatory element module pattern as `@brewsite/core`:\n\n```\ntypes.ts → dsl.tsx → compile.ts → render.ts → widget.ts → index.ts\n```\n\nThe `diagram` element embeds additional sub-modules:\n- `compiler/` — Node, group, layout, edge routing, and transition compilers\n- `shapes/` — Geometry factory, icon registry, shape variants, 3D SVG icon renderer\n- `themes/` — Theme preset objects\n- `rendering/` — Three.js renderers (node, edge, group, text, icon, environment map)\n- `canvas/` — `DiagramCanvas` orthographic scene with camera orbit/dolly/focus\n\n## License\n\nSee [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}