{"_id":"@mulmoclaude/shapescript-plugin","_rev":"28-b9687d2db987bb7486eafc7d83b6a635","name":"@mulmoclaude/shapescript-plugin","dist-tags":{"latest":"7.1.0"},"versions":{"1.0.0":{"name":"@mulmoclaude/shapescript-plugin","version":"1.0.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@1.0.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"f60870816daa56247b37412b36c19defeeb0c61a","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-1.0.0.tgz","fileCount":59,"integrity":"sha512-4MpY5QiZ5yTFQfBbrynwhsU9rPdTiAmQq2n8WojzajwDh4Mg8W/4UTo7Ezepgr5n9Y7zctr+H2tUQ7p1V8q+DQ==","signatures":[{"sig":"MEQCIDow6KFgHx0F5Q5GG1nr0DDKtdDj1S0c2ezwQpOCaT6eAiAXyH2zs8DTzABbMsrkmlOu8nD9n3lrWa3W/eWRLgwFKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1724113},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./style.css":"./dist/style.css"},"gitHead":"e2ae7508bfba12a06456e2ea6f266355ae1b83a7","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","gui-chat-protocol":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_1.0.0_1788744811954_0.3160123928563656","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@mulmoclaude/shapescript-plugin","version":"1.0.1","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@1.0.1","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"e2f41004e2928fba6dbffe17547bc75b05b1e8d7","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-1.0.1.tgz","fileCount":61,"integrity":"sha512-olAXvDGQhAUgxDVu1j3Hd7m3B16BZe/9kTdIS/gfmRF5EwovNPIs3jftPAmol105bzuoudq0Vk8c0zp9xHLmcw==","signatures":[{"sig":"MEQCIGDkeWQt+dEk2O8IMZkbJWtTOky0iMX/L+X6Si6fpNWlAiBmVk8ejQpPdgVAJzcKHEz/bj11mg41bAkrfOW0My2Prw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1785458},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./style.css":"./dist/style.css"},"gitHead":"e2ccc2a34c18aaa629941a1c60d2e874f90d92f4","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","gui-chat-protocol":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_1.0.1_1788803694868_0.1638923493128437","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@mulmoclaude/shapescript-plugin","version":"1.1.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@1.1.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"abf10a281c1f47205599e12a7baeb1af8e1a0017","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-1.1.0.tgz","fileCount":67,"integrity":"sha512-O0E+D5ogexfT4nZ4wTOvW6kvsWfWXUDS4U+JljBZWbqmU75R7wdpccrV+fjGINzhzxId1KskITYNOx67dwkPww==","signatures":[{"sig":"MEUCIHJiNn2Gj0g4crW0bGDYb6ZidzL3EBYj8v1fgbVqll5xAiEAhRz0Flr9/iJtXxM3EgrefcmJ/oEAC/aibnDKI3914kE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1811603},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./style.css":"./dist/style.css"},"gitHead":"090bf63cec039285a48162709b467e9383e70269","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_1.1.0_1788821357041_0.27882865885754726","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@mulmoclaude/shapescript-plugin","version":"1.1.1","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@1.1.1","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"cb38ac9f375865f68d57b5528c52903abc0cf5c8","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-1.1.1.tgz","fileCount":67,"integrity":"sha512-H0n9ztH6gNo7zcQDSbbCCNFh7id/AeSOplLZWR4JG8Xv1Tsq+F98sldJFIaneduK2SkNglyythP6SIHToJOqsQ==","signatures":[{"sig":"MEUCIDwjPSRQ5aOutkCeKs3cY4/Thjz8wpth5z1EEgP7ok6KAiEAhHO3gk4+9aSM0hMX3QbepNSSRgBBSCAZ/ydCCJhElnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1812035},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./style.css":"./dist/style.css"},"gitHead":"da2a38c7d4a0f38e6e62fd1d356549b9aa0499d5","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_1.1.1_1788864364954_0.844664179402506","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@mulmoclaude/shapescript-plugin","version":"1.2.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@1.2.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"d8d2b0596eb27cfb7b91cdc22806c2b7cbad0bdf","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-1.2.0.tgz","fileCount":77,"integrity":"sha512-nwkcPze9jvCGhdwMqvxlnBIlX/o6oVM99ZmBDPJZuSqThUJmfoLwrnmb35TumW+h7QA/WfQegcBpIswmH69vQA==","signatures":[{"sig":"MEYCIQCo9wNCUwHcsxEyjQbcG2O8dw/v46VEgsads7Y53Se0NQIhANZLsXqFh2Y3yRCEauDDqE6e/4ZgGvnZEYY7a0ksewaP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1833718},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"f0754e69f19e6a01f1e8a9a7d0c80a6de3eaf24e","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.9.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_1.2.0_1788894137490_0.8811942439249691","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@mulmoclaude/shapescript-plugin","version":"1.3.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@1.3.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"283841051e8947b99f9eecee919d43bab8f5ac1d","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-1.3.0.tgz","fileCount":79,"integrity":"sha512-5OQCXSCnc2Uj1hfhTCncwsevIXfR5IPPRPLA8J/tmdQCJpJmjKeWpS7w6ALcSRy7rQe5IAwLm++IKieQ0ekFWQ==","signatures":[{"sig":"MEYCIQDqv78rZTF4BqgAIykQNWEvdFB3xesKGT5FqRCTIORudAIhAIO4f2RVkP0/bUnFmJB0yJPvidWSHkOnJs2/3n8FqDTp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1851230},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"fbaad99f9f6eb0a86874cb53a136f7c24ab1a69a","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.9.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_1.3.0_1788900091229_0.13423316389560824","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@mulmoclaude/shapescript-plugin","version":"1.4.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@1.4.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"3cd3a3c20bdcdddb3241aa4b8cc481cc9ab82d75","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-1.4.0.tgz","fileCount":85,"integrity":"sha512-uqqbKsHC87yTaWJsb3o6onvE4Kb6fnBThn7/j9trDDrr9UqCKy/fa5WoUD+xrpTX80byDP1o/N0i3ru7d0OaKg==","signatures":[{"sig":"MEUCIHAQu9AOAb6DxHHnCMVXXeVAK14Elw+05eskmxDsWbz4AiEAoYRyjLyOe0AbUNHjRyPnmDEMc6sEcpX8fVt5kwYMLCM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1928471},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"b2ae8f9bd923a29cb8e7e40111cd28666586975b","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.9.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_1.4.0_1789030549212_0.6712260902498943","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@mulmoclaude/shapescript-plugin","version":"2.0.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.0.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"2c3838d29d35ec734d2c3faf8a46e6357e731259","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.0.0.tgz","fileCount":85,"integrity":"sha512-5xkhig0S5fXRJB+Gp5rX6SnLKjUn6ydx8gLQtMELt0NgLNyjD2uhjL6UZW6funRxk/gofCUEolDNb47dusasww==","signatures":[{"sig":"MEUCICHJfDe7iLH2ogx+Q5eLWdszfMsVRAIj+Yw9c2vphpTfAiEAq/ELlpRwtswTy2E5Z5dfhOyuHlxn6pKbA5/yEsNQYC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1949251},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"d376e24a6f52374178f9f5cb59d4b4fbe7258f5c","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.9.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.0.0_1789073360340_0.4332684235250779","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@mulmoclaude/shapescript-plugin","version":"2.3.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.3.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"e241dafc9a2c1a17544ec023b504a0309862073b","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.3.0.tgz","fileCount":89,"integrity":"sha512-2OJ3QHeyp0Gb/2iG2f1gSHAogqoQHu/jqGYCSnG2zbU2Bz2sBns6iNzkdlaQHVLCBacSWRRx078G7b3Qrzd9ag==","signatures":[{"sig":"MEUCIQCqNtthY8WkBnyiZOGfKzE56DpaT8MlIBlHyCaZXqu7kgIgR9FOVzSTGYQ2g7ECqX0CzXloV2gKcw7IbLYiYcmyNaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2106084},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"e147486121a77c2fa9b172b5e7816b14dbff6e8d","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.9.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.3.0_1789117523031_0.5355299655073504","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@mulmoclaude/shapescript-plugin","version":"2.4.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.4.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"0c3807042beee52e274d2ef3326afd7dc4f3bd77","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.4.0.tgz","fileCount":91,"integrity":"sha512-HoV4vTtcUS6FMrI2eHGmh9CYzUK3eKPU8EDbAf90xD/h6JFPyMPODMvP045wWNQmsTQTe8j8LXmHbkUWIJMmpQ==","signatures":[{"sig":"MEUCIQDx1yvyF1KUn1uj6aHOrsfilxlnhdJ00Z0z4S44CbEt3wIgA6ID0JVrKMLSWPvSr0LW6dtIY5Nb2/J6QusduiD4R2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2264059},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"809d968804d414e77709b7815b4e7e64116f8788","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.9.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.4.0_1789137838660_0.34691930285306705","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@mulmoclaude/shapescript-plugin","version":"2.5.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.5.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"f1d172a70a3e0189f8920842b4a7a6e7ce60e33f","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.5.0.tgz","fileCount":91,"integrity":"sha512-1Czo79H9Ga6hP+j6U3BkgIC+/97mbjZuU9SnBc/3TF+q/p4UaMMAVNnzvkbMR9ZJqbEPZEOEQ0/aX4XD2/GLww==","signatures":[{"sig":"MEUCIF+IyasMPy9fqsJorvSIBC93DRmJTciYr762/akVECCEAiEA2PZYlTYh6/9E5zehZWlpLOUiBia3V4Vhyon3vH5hPQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2270415},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"1bf3a5e0cf47ee65bc2d430431546c052e2fc48b","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.9.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.5.0_1789148400933_0.9598196296688968","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@mulmoclaude/shapescript-plugin","version":"2.5.1","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.5.1","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"c39a27d0e1e7f2bcef71d4c689d68b9b9781568c","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.5.1.tgz","fileCount":91,"integrity":"sha512-2nAyMan6SF2eJYZXW/K/Zke2/xDPce0XfSWY2B4qMZjFpn6GvACF6+Kl7n2CxOM4O3roVbWA1snRFKQ01CnbsQ==","signatures":[{"sig":"MEYCIQCYa2Jy3bsJ7iZQcmK+6W7XTd15uOOecRiwDBR+vOg6mgIhANGH16RT3nlHDSQr0WxTiys9QI3aIQFoAXZ6rPlj8AiE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2272275},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"7fa448ca8e64f851f237c0854de3e5093765cdf2","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.2.2","eslint":"^10.9.1","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.9.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.8.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.10.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.8.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.5.1_1789183971351_0.9547600382899519","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@mulmoclaude/shapescript-plugin","version":"2.6.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.6.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"3be05d5ee9a1e47803b3a169e0d01fe067d86f80","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.6.0.tgz","fileCount":91,"integrity":"sha512-Aw2O5059OsP+zxNb2aGDczYwCc07eiEej34oxQ2rGkSzbSihGJmjD/IuujxlIKJL/hVE69fMrqr68OLjVONSrA==","signatures":[{"sig":"MEUCICnxYSqvgGY63Hbv5cgffpFdrGuMT5xTBSzMMpUybbRPAiEAiDS7W9m9Vu9WPQ3wchzIr7o9oG73ZtA2D/pGEwZ5/rk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2274373},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"626615d6a6ae609573774aecad6aba666fbeea22","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.185.1","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.185.1","@mulmoclaude/core":"^4.9.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.6.0_1789248401944_0.1742986613204751","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@mulmoclaude/shapescript-plugin","version":"2.7.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.7.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"4467decc644ea0447f75da1321d264781e0e69d9","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.7.0.tgz","fileCount":95,"integrity":"sha512-q2woJYC//r6b63qof15MqLUPYLMvXfj9e1A3wjvg/c1BrKwfL5KMdQCcd1vGMv3fZdxbvtLUIDyHhkFXW0sX6A==","signatures":[{"sig":"MEYCIQCjZjC7PGryD0owAT7BoFvOsvx9XgREXl6g0NOa8Sb0TQIhAMrXHnai8hNs7gffJPTormrWAUy3pOSKBpw1+OBa7seH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2301621},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"edf60a61e85ac3e8ac42686deb248a7c9eb17f9b","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.1","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.1","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.7.0_1789267336411_0.9018056588640064","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"@mulmoclaude/shapescript-plugin","version":"2.7.1","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.7.1","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"8437d066568b8391614f04b60e6573b04be530e3","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.7.1.tgz","fileCount":95,"integrity":"sha512-akgPuWT2vuiitV6iePGvBl4rVGN4BWutWzkCPFa9Tg31u/uO6kOGy22qLEox0KQbj60bj6LmhSIy3xazLUHDjQ==","signatures":[{"sig":"MEUCIQD/UN0pREpW1aQc+iWGA+ZldEqZTcKTdB6wCBzFn2hXHgIgbl+VDL7SBJWrPQV9QfhMlPZvaoXoI6B2lTD1bVj2q5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2324497},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"582257925b311e4db5deab7ca2dd9fdb05b4df52","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"isamu","email":"isamu@to-kyo.to"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"12.0.2","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.2","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.2","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.7.1_1789279378262_0.8813083157204575","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@mulmoclaude/shapescript-plugin","version":"2.8.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@2.8.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"6b43268cef2ae2f40d248559028eda43af13f188","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-2.8.0.tgz","fileCount":95,"integrity":"sha512-blYPoYML0Y5fM2C3KRpvn/v2MLfTvv3Rbqs1jR/RuJhJSMh8nuoBgbGhCVzS464NhtEyljyur0KLGJvJ3wVviw==","signatures":[{"sig":"MEUCIC8V+9Pcc8KkJV2FI5/wO26C/Kl/y7a/3+wRHuVOfPxAAiEA9+/I+dmHIpSg0Zt95Ylyr4dlBq0mp3CaixQU5UOD5d0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2327241},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"82a092be15a63618c62f0a823c3e157fac7a8134","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.3","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.3","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_2.8.0_1789304092747_0.9601161202199178","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@mulmoclaude/shapescript-plugin","version":"3.0.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@3.0.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"e9260e2d0f890cc796c1b25196bee020daded84c","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-3.0.0.tgz","fileCount":95,"integrity":"sha512-GewFsECi5o5ZTIgd0je4UAeoPbZHmIWEpu41Wtjs66GEk1ge1wMRWqkUD0wu6FlAnesHINt3JFi8/Qy1jMdKSw==","signatures":[{"sig":"MEUCIHG99y1ecHhER04EB/SEz6mjsC3y404n7dRjeSFqq+egAiEA4yK4if75IuKZ2WiBDSiSdUHWg2zr4BQuWU06VANqROg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2330318},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"596322a7d05ca7a83c91728ce88a6718f042e673","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.3","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.3","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_3.0.0_1789319719098_0.9686738104880033","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@mulmoclaude/shapescript-plugin","version":"3.1.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@3.1.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"67736950f32e0f544035fa8f828f8ba5f643bcc9","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-3.1.0.tgz","fileCount":95,"integrity":"sha512-ZXy33zIsJhxRDpBXL1yMTt4Hi9m+c0KTjgTmkFTM7onisgg67Ow2U2Xum264KGI3v5WKOZrol+tv3FXL52Kwdg==","signatures":[{"sig":"MEUCIQC01+3I48Q+LboSqgIfg9ymJNXDFTP/k3DFFt5+PZlczAIgQk3mbHjwHuy8dGEkia1JLxE62HkHHlgxuq//ega1Av8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2331508},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"430c4f53245f6d8e4976abd2adb6aac136885bf9","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.4.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.3","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.3","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_3.1.0_1789324730694_0.3707814720677436","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@mulmoclaude/shapescript-plugin","version":"4.0.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@4.0.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"66401dc6fd2b80f26652ab9e460f434fa680761b","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-4.0.0.tgz","fileCount":95,"integrity":"sha512-I8OyqWK6C2MIipvG3BYTzZDQ4nMnIB5BTzODmxsLF8CwAJ1VSKcc0vWFEgGPmVJVmQS0F6RFBiuHzA1qFj3l0g==","signatures":[{"sig":"MEQCHxI/dqq2QmJrap9I0hPsJIAVYYB2HX9lyiZFFoObjngCIQCt0td8FrIlsP2pdl/9b9skMifLE8RGrnkTv+udE6XrWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2345016},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"5864e20809bc121516fa162822d98f5b540e7c01","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.5.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.3","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.3","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_4.0.0_1789355920564_0.9678350934163535","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@mulmoclaude/shapescript-plugin","version":"5.0.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@5.0.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"7b4ef5d6705a87dc34106d051f9c774995185346","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-5.0.0.tgz","fileCount":95,"integrity":"sha512-S76kMQONfGG2FLjtvRqWO6Cdi7wqtSoEXjnleHM/mF5gwQ3ki4IdF5AefgZ6HDaaD0foCo1i5QhmXfZoreRBKg==","signatures":[{"sig":"MEUCIBz6W+OjE9P/dbUKUf28x8IdBb3FhDR1j5k7rAT58PliAiEAjSy7aF9tWzUrOfQDGKGIJBK6GFumgPD4K+2SCczH6tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2363150},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"973bf494e4a47b07a720db1cca9ed4b008812ea3","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.5.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.3","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.3","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_5.0.0_1789379937671_0.8177226015433985","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@mulmoclaude/shapescript-plugin","version":"5.1.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@5.1.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"3c5effb1ab4d28b4ca1888e23469e180a9634e47","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-5.1.0.tgz","fileCount":101,"integrity":"sha512-N+WYgCAJXmnkggNctd5wF6aC4tidFzoXc38tkedmkoeMemcDUXbavQTuKm8Ic1yvokQup7tqzva0Vm9ku1BmZA==","signatures":[{"sig":"MEQCICaCzH0OCwcewTDVdN3/7pZXGGV9rKiQ6gDM+USTYRSPAiBcAVPg6q6TbYdwjYeit9bbI5bIkJYaImy5P0VOM1cFXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2463457},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"b263cd948b3e025f46fd8b28d4d220622b4078b5","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.5.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.3","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.3","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_5.1.0_1789393745567_0.6022070786814286","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"@mulmoclaude/shapescript-plugin","version":"5.1.1","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@5.1.1","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"608f0d743070eba56ffdf359828f7f1fdc2eeacd","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-5.1.1.tgz","fileCount":101,"integrity":"sha512-K2GHMn4swZiAGYQOodBwCkVEDPaukC/zLr3GoVgfK1AdNiafegk5fV5Zr5Zwmay7wPbV2GwmBLd2k6Xpi7+wTA==","signatures":[{"sig":"MEQCICEiHsSjZVrzKW1C0IvqjEDSfQJjeBLYRCNkhhyAFRMQAiBSBLgUUz+zAYWIBK373qk0dO9TtdIDjPAhlNo78BvALA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCW2oIVR6j3c24zskuOD5JuwozzvHchR2l87zMhVtfnQQIhALnIF3FdfV6SUcs/uCh4GslgFqqKa0k/MnNcvsGt9VXE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2463457},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"f10ad6e28cb4df2afafa0bcef4ac41d26850385d","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"isamu","email":"isamu@to-kyo.to"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"12.0.2","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.5.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.4","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.4","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_5.1.1_1789425033801_0.12807805307779385","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@mulmoclaude/shapescript-plugin","version":"6.0.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@6.0.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"3d42b2d09d79f4c097dbb8fecd51b76b1be63502","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-6.0.0.tgz","fileCount":101,"integrity":"sha512-VjvIitR314cUrrFYJqCK7r8Ha4k4lb0mi54Id9iA0EmS1ToPnB/5pMA8y/tjxwFnetmJnW+pdpBHBdO9yd+9tg==","signatures":[{"sig":"MEUCIGmjfuHwp3DR/O+9Ko3nq4Vzoa2WAJVsN3DOtafkniUWAiEAw9iW38kCnyghErdgt3PiG1mov8CWoSp+UicxBP7rmJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDvqu2B7XNuKXgDbuoBDPnQLeA4T6gOsyOwITQlkUWpYwIhALVyrqOPwR5p314wU744hF5/FSNQDKqiNwC8RfU6+WZE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2477065},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"bfb5913eb5195072bd858b5300ada889d7193b2f","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.5.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.4","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.4","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_6.0.0_1789432013144_0.6168541883521257","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"@mulmoclaude/shapescript-plugin","version":"6.1.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@6.1.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"7af7dbe2ae597258a20bbceb1a8143063b52dcad","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-6.1.0.tgz","fileCount":101,"integrity":"sha512-fEJVQ5+GexH1/zTF2vK4fDM/ZEKmKvBmGh2UqoE3KJfYU7T4yef6L8jYmdmilwztzvwfVnRxmftwWAnTeMcdow==","signatures":[{"sig":"MEQCIAMBvmYsCxDrOBGnFzdC8IyV1opbQjkXLclruL41VsxHAiBVvRKhZFQ6ftQIDWg7By7xFcaGdcZb1kNX3ykF3iRdxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC2lfqPuxCtLK7xjLz1jKyxzu8BzNgfkPyBPKxMzy1XRwIhAKCoLpUfJURczqNbEN+Mv47QjOzEWGnX0C/tucWy7omt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2482897},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"1be2c8c1c6532a40d735035df48591208d71a6b3","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.17.0","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.5.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.4","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.4","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_6.1.0_1789490477965_0.12640939096762582","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"@mulmoclaude/shapescript-plugin","version":"6.2.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@6.2.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"e9e227c122de44613149838bf5cee07ccfbd37bc","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-6.2.0.tgz","fileCount":101,"integrity":"sha512-tDpbK8MjGbjpu0EiDmitNuTEqRr52WLS3Qm6dHfOtHwCkNY73CltIdYrv23DEu6dZt5w+qYg4UKFYNWjXrU0uA==","signatures":[{"sig":"MEUCIQDE7PJZn8FPgbFxPm3iXGIILvJ9zIxqA2ufeFaAEP8q3AIgVUzKXw8JVaE+sYOAlvwjH4UjhV6PnXgvCz270VP/Pio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEROzDkaKphzgWEzOq/eXzYqctr4eJlEPJkRvGbixH/8AiB/Ww8kyhSm4qzoBf7Ji7GdiX9YC0tJnvh1KcRQu3AhCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2484288},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"bb5572ae4b9432ed3405a859682341accddb27d0","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"isamu","email":"isamu@to-kyo.to"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"12.0.2","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.10.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.5.1","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^4.9.4","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.8","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^4.9.4","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_6.2.0_1789617559504_0.9677742729651515","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@mulmoclaude/shapescript-plugin","version":"7.0.0","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@7.0.0","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"f2f9bb8560b99bdf3ed8f9eb3302d44f35a5f757","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-7.0.0.tgz","fileCount":101,"integrity":"sha512-R02Kjx4IaJrCb/Lkn6Lt0YMe9p+I08OqfloyTRKvIdqBfJ/cCOs6mxTTLj4nlr9MBZwv4G/PAiqHBjfoR+OwAw==","signatures":[{"sig":"MEQCIFYV0LZlWg6mpS/8agVZ4rLrYiKh6up5lP+XxF1Fc/k+AiB0RXvU4fnxzTjlD17mXJbpIEPWvh73q73w7ne57a+3WA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBnaVeY8/torr26YGaFORVRPVFlXEyo+aV8xNVnnhwh9AiEAuH3u09M5txJmKJDrZrz/1bMJJweDfedXd40YeEzEKRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2484288},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"b69f38e7337e58287c26b0f7e5ff99302b93e077","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"isamu","email":"isamu@to-kyo.to"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"12.0.2","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.11.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.6.2","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^5.0.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.9","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^5.0.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_7.0.0_1789978144296_0.4260113437634989","host":"s3://npm-registry-packages-npm-production"}},"7.0.1":{"name":"@mulmoclaude/shapescript-plugin","version":"7.0.1","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"license":"MIT","_id":"@mulmoclaude/shapescript-plugin@7.0.1","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"13400024185ce231e757f428249a6668be0ac99d","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-7.0.1.tgz","fileCount":101,"integrity":"sha512-1n5ZUty20E+e8qb3vGPueOdbupzi9At7Ofkr3RBSvljBgrNniz/2SMi+5quX41sZj1m2xw26ZuZZjJ//mp2vpw==","signatures":[{"sig":"MEUCIGWjo6H0poUzsPy1yhWPVarSctVBeKoPE6lghbcLW5uqAiEAqmlOmGumMkkqyLwPC/z1ePMERBLvpjctVEeO8JRfJa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGPGpH10jANe+tB2IRGxugSwyMtLgxdjJZFT+jUOxWEnAiBZy0/WxMciPMHj05U4Q0d65SnGOZpWYqDgWjQ6uooZOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2484288},"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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"34004356ca2ef6f8bae8455ef853eb3a56e9f030","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"_npmUser":{"name":"isamu","email":"isamu@to-kyo.to"},"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"11.6.2","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vue":"^3.5.42","vite":"^8.3.0","eslint":"^10.11.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.10.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.6.2","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^5.3.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.9","@typescript-eslint/parser":"^8.70.0","@typescript-eslint/eslint-plugin":"^8.70.0"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^5.3.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/shapescript-plugin_7.0.1_1790048663644_0.21504988152578197","host":"s3://npm-registry-packages-npm-production"}},"7.1.0":{"_id":"@mulmoclaude/shapescript-plugin@7.1.0","bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"dist":{"shasum":"904df6a11b2d43cd38361585fabe94ff287ae67f","tarball":"https://registry.npmjs.org/@mulmoclaude/shapescript-plugin/-/shapescript-plugin-7.1.0.tgz","fileCount":101,"integrity":"sha512-8Mq5hWDOKOLtnHZYyHZs0rPMyWLDYqGffCkmIWa8iWiEfzN+juueceY8LoazD4OtamPm6WYuS2jIL5h641tM5Q==","signatures":[{"sig":"MEUCIQDW8fRCe0alk1WiaLd8jYTzlr27FoQB2tAodsVGQ28ezAIgJ2yBbcuiX6peKS4+HRFIOIthAFyvKu2nxrbEFaOKFQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDp2VJgxIdkNltYdZwLSDwXPhuaXkBIkhbawKgePB/sGgIhAO6BbxI6wQNFpNyc1iA+pHtAYwKrD0mi3LLOd42awrPT"}],"unpackedSize":1215499},"main":"./dist/index.js","name":"@mulmoclaude/shapescript-plugin","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","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue.js","default":"./dist/vue.js","require":"./dist/vue.cjs"},"./render":{"types":"./dist/render/index.d.ts","import":"./dist/render.js","default":"./dist/render.js","require":"./dist/render.cjs"},"./style.css":"./dist/style.css","./package.json":"./package.json"},"gitHead":"2de37804c491d0df30bd9f63938fd5c6f9a645ee","license":"MIT","scripts":{"lint":"eslint .","test":"tsx --test test/test_*.ts","build":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","prepack":"vite build && vue-tsc -p tsconfig.build.json --emitDeclarationOnly","typecheck":"vue-tsc --noEmit"},"version":"7.1.0","_npmUser":{"name":"isamu","email":"isamu@to-kyo.to"},"homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"_npmVersion":"12.0.2","description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","directories":{},"maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"_nodeVersion":"24.19.0","dependencies":{"three":"^0.186.0","three-bvh-csg":"^0.0.18","three-mesh-bvh":"0.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.15","vue":"^3.5.43","vite":"^8.3.0","eslint":"^10.11.0","globals":"^17.12.0","vue-tsc":"^3.3.11","puppeteer":"^25.11.0","@eslint/js":"^10.0.1","typescript":"~6.0.2","@types/node":"^26.6.2","tailwindcss":"^4.3.3","@types/three":"^0.186.0","@mulmoclaude/core":"^5.4.0","@tailwindcss/vite":"^4.3.3","eslint-plugin-vue":"^10.11.0","gui-chat-protocol":"^2.0.0","vue-eslint-parser":"^10.4.0","@vitejs/plugin-vue":"^6.0.9","@typescript-eslint/parser":"^8.70.1","@typescript-eslint/eslint-plugin":"^8.70.1"},"peerDependencies":{"vue":"^3.5.0","puppeteer":"^25.0.0","@mulmoclaude/core":"^5.4.0","gui-chat-protocol":"^2.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shapescript-plugin_7.1.0_1790125861264_0.8192794145197717"}}},"time":{"created":"2026-09-07T01:33:31.660Z","modified":"2026-09-23T01:11:01.547Z","1.0.0":"2026-09-07T01:33:32.106Z","1.0.1":"2026-09-07T17:54:55.035Z","1.1.0":"2026-09-07T22:49:17.182Z","1.1.1":"2026-09-08T10:46:05.132Z","1.2.0":"2026-09-08T19:02:17.642Z","1.3.0":"2026-09-08T20:41:31.361Z","1.4.0":"2026-09-10T08:55:49.396Z","2.0.0":"2026-09-10T20:49:20.485Z","2.3.0":"2026-09-11T09:05:23.164Z","2.4.0":"2026-09-11T14:43:58.820Z","2.5.0":"2026-09-11T17:40:01.136Z","2.5.1":"2026-09-12T03:32:51.529Z","2.6.0":"2026-09-12T21:26:42.133Z","2.7.0":"2026-09-13T02:42:16.595Z","2.7.1":"2026-09-13T06:02:58.456Z","2.8.0":"2026-09-13T12:54:52.914Z","3.0.0":"2026-09-13T17:15:19.273Z","3.1.0":"2026-09-13T18:38:50.878Z","4.0.0":"2026-09-14T03:18:40.753Z","5.0.0":"2026-09-14T09:58:57.892Z","5.1.0":"2026-09-14T13:49:05.719Z","5.1.1":"2026-09-14T22:30:34.049Z","6.0.0":"2026-09-15T00:26:53.331Z","6.1.0":"2026-09-15T16:41:18.086Z","6.2.0":"2026-09-17T03:59:19.606Z","7.0.0":"2026-09-21T08:09:04.409Z","7.0.1":"2026-09-22T03:44:23.782Z","7.1.0":"2026-09-23T01:11:01.366Z"},"bugs":{"url":"https://github.com/receptron/mulmoclaude/issues"},"license":"MIT","homepage":"https://github.com/receptron/mulmoclaude/tree/main/packages/plugins/shapescript-plugin#readme","keywords":["shapescript","3d","three","mulmoclaude","mulmoclaude-plugin","gui-chat-protocol","claude-code","mulmoterminal"],"repository":{"url":"git+https://github.com/receptron/mulmoclaude.git","type":"git","directory":"packages/plugins/shapescript-plugin"},"description":"presentShapeScript — interactive 3D visualizations authored in the ShapeScript language (parser + Three.js renderer). Core (tool definition + execute) on `.`, Vue View/Preview on `./vue`.","maintainers":[{"name":"snakajima","email":"satoshi.nakajima@gmail.com"},{"name":"isamu","email":"isamu@to-kyo.to"}],"readme":"# @mulmoclaude/shapescript-plugin\n\n`presentShapeScript` — interactive 3D visualizations authored in the **ShapeScript** language.\nThe plugin ships its own ShapeScript parser / evaluator and a Three.js renderer (CSG via\n`three-bvh-csg`), so a model is described as text and rendered in the chat canvas.\n\nPorted from [`@gui-chat-plugin/present3d`](https://github.com/receptron/GUIChatPluginPresent3D)\n(MIT, same authors). The tool is named `presentShapeScript` here — the upstream `present3D`\nname, and the `Present3D*` type names, are renamed throughout.\n\n## Exports\n\n| Entry         | Contents                                                                                                                 |\n| ------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| `.`           | `TOOL_NAME`, `TOOL_DEFINITION`, `executePresentShapeScript`, `pluginCore`, `samples`, `parseShapeScript`, `astToThreeJS`, `executeShapeScriptDispatch` + the `artifacts/shapes` path rules |\n| `.` (export) | `shapeScriptToUsdz`, `sceneToUsdz`, `USDZ_MIME_TYPE`, `USDZ_EXTENSION`, and the **`exportShapeScriptUsdz`** tool (`executeExportShapeScriptUsdz`, `EXPORT_USDZ_*`); `shapeScriptToGlb` / `sceneToGlb` / `GLB_*` and `shapeScriptToStl` / `sceneToStl` / `STL_*` alongside. Browser-safe: none needs a canvas, so the View's download buttons and a host's MCP tool run the same code. |\n| `./render`    | **server-only** — `renderShapeScriptSheet` and the render page. Rasterises a model to a PNG with Puppeteer's headless Chromium (an OPTIONAL peer); a host without one gets `RenderUnavailableError` carrying the install hint. |\n| `./vue`       | the `ToolPlugin` (View + Preview + `SYSTEM_PROMPT`), plus everything on `.`                                              |\n| `./style.css` | the compiled component styles (Vite lib mode does not auto-inject them)                                                  |\n\n```ts\nimport type { ToolContext } from \"gui-chat-protocol\";\nimport { executePresentShapeScript } from \"@mulmoclaude/shapescript-plugin\";\n\n// The handler does not read the context; the host passes its own.\nconst context = {} as ToolContext;\n\nconst result = await executePresentShapeScript(context, {\n  title: \"Circular Pattern\",\n  script: `\ndefine count 12\nfor i in 1 to count {\n    define angle ((i / count) * 6.283)\n    cube {\n        position (cos(angle) * 3) 0 (sin(angle) * 3)\n        color (i / count) 0.5 (1 - i / count)\n        size 0.5\n    }\n}`,\n});\n```\n\n## USDZ export\n\n`exportShapeScriptUsdz` writes a model out as a USDZ archive (AR Quick Look on Apple devices, or\nany USD viewer). A host wires it against the same `{ files: { artifacts, byPath? } }` context shape\n`executeShapeScriptDispatch` takes — a full `FileOps`, or just `read` / `write` / `exists`\n(`ShapeFileOps`) — no browser, no `node:*`:\n\n```ts\nimport { executeExportShapeScriptUsdz, EXPORT_USDZ_TOOL_NAME, EXPORT_USDZ_DESCRIPTION, EXPORT_USDZ_SCHEMA, EXPORT_USDZ_PROMPT } from \"@mulmoclaude/shapescript-plugin\";\n\n// register { name: EXPORT_USDZ_TOOL_NAME, description: EXPORT_USDZ_DESCRIPTION, inputSchema: EXPORT_USDZ_SCHEMA }\nconst { message, filePath } = await executeExportShapeScriptUsdz({ files: shapeFiles }, args);\n```\n\nThe file lands at `artifacts/shapes/<slug>-<epoch-ms>-<token>.usdz`. The View's **Download**\nmenu (USDZ item) builds the same archive in the browser with `shapeScriptToUsdz` and saves it locally.\nUSDZ units are metres, so `size 1` is one metre in AR.\n\nThe same menu also offers **GLB** (binary glTF, for the web and game engines; vertex colours\nsurvive as `COLOR_0`) and **STL** (binary, geometry only, in world space, for slicers),\nbuilt the same way by `shapeScriptToGlb` and `shapeScriptToStl`. Neither has an MCP tool yet.\n\n## The gallery: `manageShapeScript`\n\n`manageShapeScript` is the user's models in the public gallery on mulmoserver\n(server.mulmocast.com/shapes), one tool with an `action` — as `manageCollection` is:\n\n| `action`  | Does                                                                                                   | Needs                              |\n| --------- | ------------------------------------------------------------------------------------------------------ | ---------------------------------- |\n| `publish` | Posts a new model and answers its URL.                                                                 | `title`, `script` or `path`; `acceptLicense: true` unless a draft |\n| `update`  | Changes the user's own post in place, sending only the fields given.                                   | `id`                               |\n| `delete`  | Removes the user's own post and every object under it.                                                 | `id`                               |\n| `get`     | One post's readable fields and its ShapeScript source — anyone's published one, or the user's draft.  | `id`; `save: true` writes a .shape |\n| `getList` | The user's own posts, drafts included, newest first.                                                   | `limit` (default 20, at most 100)  |\n\nThe tool's contract — schema, description, the document a post is (`SHAPE_POST_KEYS`, which\nmulmoserver's rules pin with `hasOnly`), the keyword normalisation — is the package's; Firebase is\nnot. A host supplies a `ShapeGalleryWriter` over its own signed-in session (the remote-host\nsession, which is the user's account on mulmoserver's Firebase) and a `renderThumbnail` —\n`renderShapeThumbnail` from `./render`, which answers `null` where no headless browser is installed,\nso a post still lands, without a picture:\n\n```ts\nimport { executeManageShapeScript, MANAGE_TOOL_NAME, MANAGE_DESCRIPTION, MANAGE_SCHEMA, MANAGE_PROMPT } from \"@mulmoclaude/shapescript-plugin\";\nimport { renderShapeThumbnail } from \"@mulmoclaude/shapescript-plugin/render\";\n\n// gallery: { uid, authorName,\n//            createPost(id, doc), readPost(id), updatePost(id, patch, expect), deletePost(id, expect),\n//            listPosts(uid, limit), readScript(ownerUid, id, scriptId),\n//            uploadThumbnail(id, png), uploadScript(id, script), deleteObject(id, objectId) }\n//          — every member required; null when not signed in\nconst result = await executeManageShapeScript({ files: shapeFiles, gallery, renderThumbnail: renderShapeThumbnail }, args);\nresult.message; // the sentence (publish / update / delete) or the JSON (get / getList) the agent reads\n```\n\n`createPost` must add `createdAt` / `updatedAt` as `serverTimestamp()`; the rules refuse a client\nclock. `deleteObject` is what takes an uploaded thumbnail back out when `createPost` is refused, so\nno object is left that nothing references. With `gallery: null` the tool throws\n`NOT_CONNECTED_MESSAGE`, which tells the user to connect Remote Host.\n\nPublishing a post licenses it under **CC BY 4.0** (`SHAPE_LICENSE`, `SHAPE_LICENSE_URL`), as the\ngallery's own editor asks before publishing. The tool asks the same way: publishing a public post,\nmaking a draft public, or editing a public post that has no license yet needs `acceptLicense: true`\n— the user's explicit agreement, which `MANAGE_PROMPT` tells the model to ask for and never to pass\non its own — and is refused with `LICENSE_REQUIRED_MESSAGE`, before any upload, without it. A draft\n(`published: false`) needs none and records none. The document carries `license` (`\"CC-BY-4.0\"` or\n`null`, a pinned key), and the host stamps `licenseAcceptedAt` as `serverTimestamp()` beside a\ngrant — in `createPost` when `doc.license` is set, in `updatePost` when the patch carries `license`\n(the owner's first agreement; the plugin never sends it for a post already licensed). The rules let\na grant be made once and never moved or removed, so `updatePost` must drop both keys if the stored\ndocument turns out to be licensed already; the mulmoclaude adapter does that inside its transaction.\n`get` / `getList` answer `license` and `licenseAcceptedAt` (an ISO string, `\"\"` when none). A\npublic post with `license: null` predates the gallery's asking and carries no grant; the prompt\ntells the model not to present such a model as reusable.\n\nThis is a **breaking change of the `ShapeGalleryWriter` contract** (5.x → 6.0.0): a host built\nagainst 5.x does not stamp `licenseAcceptedAt`, so with this plugin its `createPost` / `updatePost`\nwould send `license` without the stamp and the rules would refuse every public write. A host\ntakes 6.x only once its adapter stamps the grant.\n\n`update` rewrites the user's own post `id` in place: `readPost` fetches it, the tool refuses it\nunless its `uid` is the writer's (only the publisher may change a post; the gallery's rules say the\nsame, but without a reason), and `updatePost` merges a PATCH — only the fields the caller gave,\nplus new object ids — with a server `updatedAt` and no `createdAt`, which the rules freeze. It must\nbe a field-level update (Firestore `updateDoc`), never a whole-document write, so a field not given\nkeeps what the document holds now rather than what the read saw; and it must be CONDITIONAL on\n`expect` (owner, object ids and published state as read), refusing with `POST_CHANGED_MESSAGE` when the post changed\nmeanwhile — a `runTransaction` that re-reads, compares and updates — so two racing edits cannot\norphan each other's objects. A field given replaces the post's (an explicit `\"\"` clears\n`description` / `prompt` / `aiModel`), one omitted keeps it. A new `script` / `path` uploads a new\nscript object and thumbnail and removes the replaced ones once the document points at the new ids.\n\n`delete` is the same owner check, then `deletePost` — the document first, so the post is gone at\nonce, and conditional on `expect` exactly as `updatePost` is (a transaction that re-reads, compares\nand deletes), so an update that landed meanwhile keeps its post and its new objects. It answers the\ndocument as deleted, and that version's objects are what `deleteObject` then removes — the script,\nthe thumbnail and any reference photos, a photo the web editor swapped in meanwhile included, since\n`expect` pins the model and not the photos; an object that will not go is a warning, since nothing\nlinks to it.\n\n`get` and `getList` are reads: `readPost` / `listPosts` answer documents as stored (the server\nstamps may stay whatever the SDK returns — a `Date`, or anything with `toDate()` — the tool turns\nthem into ISO strings), and `readScript` downloads the source from under the post's OWNER, which\nneed not be the session user: the Storage rule opens the objects to anyone. `readPost` must answer\n`null`, not throw, for a document the rules hide (another account's draft), as it does for a wrong\nid. `listPosts` is the gallery's own \"My models\" query — `uid == me`, `createdAt` descending — which\nthe rules admit and the composite index serves.\n\n## ShapeScript language\n\n- **Primitives**: `cube`, `sphere`, `icosphere`, `cylinder`, `cone`, `torus`, `circle`, `square`,\n  `roundrect`, `polygon`\n- **Properties**: `position X Y Z`, `orientation ROLL YAW PITCH` (alias `rotation`), `size X Y Z`,\n  `detail`, `smoothing`, `name`\n- **Materials** (as properties or scoped commands): `color`, `opacity`, `metallicity`, `roughness`,\n  `glow`, `material NAME`; `texture` is accepted with a warning\n- **CSG**: `union`, `difference`, `intersection`, `xor`, `stencil`\n- **Builders**: `extrude`, `loft`, `lathe`, `fill`, `hull`\n- **Variables & expressions**: `define`, arithmetic / comparison / boolean operators, `in`, ranges,\n  parentheses, custom functions\n- **Control flow**: `for … in …`, `if` / `else`, `switch` / `case`\n- **Built-ins**: `round floor ceil abs sign sqrt pow min max`, `sin cos tan asin acos atan atan2`\n  (radians), `dot cross length normalize sum`, `rgb hsb`, `join split trim`, `rnd`\n- **Commands**: `detail N`, `seed N`, `smoothing N`, `background`, `print`, `assert`, and the relative\n  `rotate` / `translate` / `scale`; `camera` / `light` blocks are skipped with a warning\n\nA call is either C-like, with **no space** before its parenthesis (`sin(x)`; `sin (x)` is not a\ncall), or bare, as upstream: `max 0 (j - 1)`, `sqrt 9`, `sin pi / 2` — the function takes every\nvalue after it, so parenthesise it inside a larger expression: `(sqrt 9) + (sqrt 16)`. Arguments are\na value list; commas (`max(0, j - 1)`) also work here but not in the upstream app. One statement per\nline, as upstream: `define a 1 define b 2` on one line is a parse error naming the rule.\n\n## Storage\n\nA new `script` is saved to `artifacts/shapes/<slug>-<epoch-ms>.shape` and the\nresult names it as `data.filePath`; pass `path` instead of `script` to present a\nsource that already exists — a `.shape` this tool wrote, or any other on disk —\nand it is rendered in place rather than copied. The two are mutually exclusive.\nThe View's source editor writes edits back to that same file (dispatch kinds\n`loadShape` / `saveShape`), and refreshes from disk on open, so a model the agent\nrewrote is what the user sees.\n\nAll file access goes through the host's generic gui-chat-protocol capability:\n`files.artifacts` for `artifacts/shapes/**`, `files.byPath` for anything else.\nA host that supplies neither keeps the pre-1.1 behaviour — the script travels\ninside the tool result and nothing is written — rather than failing.\n\n## Validation and errors\n\n`executePresentShapeScript` checks arguments, parses the source, evaluates expressions,\nand builds geometry headlessly before returning success. Temporary geometry is disposed.\nFailures are returned as values, with **no `data` field**, so the host does not open a\nbroken visualization. The same diagnostic is available as `error` and `jsonData.error`\n(the latter is included in the calling agent's tool response):\n\n```ts\nconst result = await executePresentShapeScript(context, {\n  title: \"Example\", script: \"cube { size missing }\",\n});\nif (\"error\" in result) {\n  console.log(result.error.code, result.error.message);\n  // EVALUATION_ERROR, \"Undefined variable: missing\"\n}\n```\n\nCodes: `INVALID_ARGUMENT`, `PARSE_ERROR`, `EVALUATION_ERROR`, `LIMIT_EXCEEDED`.\nParse diagnostics include `line` and `column` when available. Invalid input does not\nthrow from the tool handler. Successful results retain their existing `{ title, data: { script } }`\ncontract. Validation executes the script, including geometry construction; the browser\nconstructs it again for display. The source editor also validates geometry before saving.\n\n## Builders and additional expressions\n\n```text\n// Loft joins sections and caps the ends; hull forms a convex envelope.\nloft {\n    square\n    translate 0 0 2\n    circle\n}\nhull {\n    cube { position -1 0 0 }\n    cube { position 1 0 0 }\n}\nextrude { polygon { sides 5 } }\nfill { square }\nlathe path {\n    point 0 0\n    point 1 0\n    curve 1.5 1\n    point 1 2\n    point 0 2\n}\n\n// Paths: absolute points, Bézier control points, a frame moved by rotate/translate/scale.\nextrude path {\n    point 0 0\n    point 1 0\n    point 1 1\n    point 0 1\n    point 0 0\n}\nfill path {\n    for 0 to 8 {\n        curve 0 1\n        rotate 1 / 8\n    }\n}\n\n// Stencil changes surface material without cutting away the first shape.\nstencil {\n    cube { color 1 0 0 }\n    cube {\n        position 0.5 0 0\n        color 0 1 0\n    }\n}\n\ndefine offsets ((1 2 3), (4 5 6))\ncube { position offsets[0].x offsets[1].y offsets.count }\n\n// Materials, as upstream: hex and named colours, alpha, PBR properties, bundles.\ndefine brass material {\n    color #d4a017\n    metallicity 1\n    roughness 0.3\n}\nmaterial brass\nsphere\ncube {\n    position 2\n    color red 0.5      // red at 50% alpha\n    glow orange * 0.3  // emissive\n}\n\n// Ranges, the `in` operator, custom functions and bare calls.\ndefine steps 0 to 1 step 0.25\ndefine ease(t) { t * t * (3 - 2 * t) }\nfor t in steps {\n    if t in 0.25 to 0.75 {\n        cube {\n            position (t * 4) (ease t) 0\n            size max 0.1 (t / 2)\n        }\n    }\n}\n\n// A rounded slab from two arcs, extruded; a bare path draws as a line.\nextrude path {\n    arc { angle -0.5 }\n    point -0.5 0\n    point 1.5 0\n    arc {\n        position 1 0\n        orientation 0.5\n        angle -0.5\n    }\n    curve 0 0.5\n}\n```\n\nAlso supported: `pi` (no `tau`, as upstream; write `2 * pi`), `true`, `false`, scientific notation, unary `+`,\nshort-circuit `and`/`or`, string literals, `join`/`split`/`trim`, tuple arguments to `min`/`max`,\nzero-based tuple/string subscripts (negative from the end, or by name: `v[\"y\"]`), `.count`, ordinal\nmembers `.first` … `.tenth`, `.last`, `.allButFirst`, `.allButLast`, vector `.x/.y/.z/.w`, size\n`.width/.height/.depth`, rotation `.roll/.yaw/.pitch`, color `.red/.green/.blue/.alpha` (or\n`.r/.g/.b/.a`) and `.hue/.saturation/.brightness`, custom shape definitions with options (placed\nand coloured through `position` / `orientation` / `size` / `color` / `material` on the call), and\n`polygon { sides N }` (integer 3–256). Lathe samples curved profiles (drawn on either side of the\naxis), and inline builder paths use the same parser as nested paths, including loops and\ndefinitions. A `material` command inside a builder block applies to the builder's result, and\n`size` on a builder or group scales it (an extrude's Z is its depth). `print` lines and the\ncommands that were skipped come back on the root group's `userData` (`sceneInfoOf(group)`) and in\nthe tool result message.\n\n## Units and path semantics — same as upstream\n\nSince 2.0.0 the plugin follows the [upstream ShapeScript](https://shapescript.info/mac/)\nconventions, so a script written against the upstream docs renders the same here:\n\n- `size` is the **diameter** of `sphere`, `cylinder`, `cone`, `circle`, `polygon` and `torus`\n  (a bare `sphere` fits the unit cube) and the edge length of `cube` / `square`.\n- `orientation` (alias `rotation`) and `rotate` take **half-turns** as `roll yaw pitch` —\n  rotations about Z, Y and X applied in that order, `0.5` = 90°, positive clockwise (Euclid's\n  sign). A lone value is a roll; four values are `angle x y z`. Trig *functions* still use radians.\n- Path `point` / `curve` coordinates are **absolute** in the path's frame; `rotate`, `translate`\n  and `scale` inside a path move that frame for later points. `curve` is a quadratic Bézier\n  **control point** — the outline passes through the neighbouring `point`s, and two `curve`s in\n  a row get an implicit on-curve midpoint (eight in an octagon draw a circle). A path block may\n  carry `position` / `orientation` / `size` of its own, which is how a `loft` section is placed in\n  3D; `lathe` refuses a placed profile.\n- `rnd` uses upstream's generator (`x = x · 1664525 + 1013904223 mod 2³²`, seed 0) and `seed N`\n  reseeds it for the enclosing block only.\n- **Scope** (2.1.0): a shape block, `group`, builder or custom block resets transforms and\n  materials at its closing brace; `for` / `if` / `switch` bodies scope only symbols, so a\n  `translate` inside a loop carries on after it, as upstream's scope rules say.\n- A **bare `path`** draws as a line (2.1.0), as upstream; `fill` / `extrude` / `lathe` / `loft`\n  make a surface or solid of it.\n- `size 1 2` pads to `1 2 1` (Euclid's `Vector(size:)`), so `cylinder { size 1 2 }` is a\n  cylinder of diameter 1 and height 2.\n- `extrude` is centred on its profile plane, spanning ±depth/2 (2.1.0; it ran 0…depth\n  before), and a lathe always faces outward whichever way its profile is drawn.\n\nDeviations that remain: an *open* path whose first or last point is a `curve` treats it as a\ncorner (upstream extrapolates a tangent), path points are 2D, nested sub-paths (holes) are not\nsupported, and `smoothing` is flat (0) or smooth rather than an angle threshold. The gap list\nlives in [`plans/feat-shapescript-upstream-parity.md`](../../../plans/feat-shapescript-upstream-parity.md).\n\n## Compatibility and limits\n\nThis is the plugin's documented modeling subset, **not complete compatibility with\nupstream ShapeScript**.\n\nLoft accepts ordered, closed planar sections with one perimeter each, resamples differing\nvertex counts, interpolates linearly, and triangulates the end caps. Sections must enclose\na volume. Hull accepts geometry from child meshes and filled paths. Primitive profiles\nfor fill/extrude must lie in XY; holes, twisted extrusion (`twist`) and arbitrary 3D path\ncommands are not implemented. `extrude … along` sweeps a section along a path (mitred at\ncorners, capped at the ends of an open path); an open path extrudes to a two-sided wall, as\nupstream. `minkowski { a b }` is the hull of two convex solids' vertex sums, and for a\nnon-convex operand the merged per-face hulls (overlapping shells, not a boolean union — fine to\ndraw, not to feed to another boolean); `inset(mesh d)` slides every vertex to where its faces'\noffset planes meet. `text \"Hello\"` lays glyph outlines out as upstream does — left margin at\nx = 0, first baseline at y = 0, one world unit per line, `size` scaling it, `wrapwidth` and\n`linespacing` as options, values interpolated (`text \"Bob has \" apples \" apples\"`) — in a bundled\nHelvetica-like face (Helvetiker; `font` is accepted and skipped with a warning, and a character\nthe face lacks draws as `?`). Bare `text` draws outlines; `fill` and `extrude` turn it into faces\nand solids, holes included, and it is a value with `.bounds`. `import`, `svgpath`, `object` values\nand paths as values are refused with a message naming the feature. Textures,\nnormal maps, `camera` and `light` blocks are accepted and skipped with a warning that the\ntool result and the View both report. Unsupported commands and failed CSG operations return\nerrors instead of silently substituting different geometry. As with other polygonal CSG\nengines, degenerate or self-intersecting inputs may fail.\n\nThe upstream project's own example scripts are test fixtures\n(`test/fixtures/upstream-examples/`, MIT): all nine — Ball, Chessboard, Cog, Dodecahedron, Earth,\nFillet, Spirals, Spring and Train — render.\n\n## Shapes as values, meshes and polygons\n\nSince 2.2.0 a shape is a value, as upstream: `define ico icosphere { detail 0 }` keeps its mesh, `ico`\nplaces it (with `position` / `orientation` / `size` on the call), and its members are readable —\n`polygons` and `triangles` (each with `.center`, `.points`, `.bounds`), `bounds` (`.min` `.max`\n`.center` `.size` `.width` `.height` `.depth`) and `volume`. The icosphere follows Euclid's\nconstruction face for face, so scripts that index its faces (upstream's Dodecahedron) get the same\nfaces. `for v in … { expr }` and `if c { a } else { b }` are expressions, a function may build\nshapes (`define face(data) { polygon { … } }`) and be called bare as a statement (`face data`), and\n`mesh { … }` assembles the polygons its body produces — `polygon { color red … }` with one `point` per line\nwith 3D points, a tuple per point allowed — into one flat-shaded, vertex-coloured mesh. A value a\nstatement produces that is not a shape is an \"unused value\" error, as upstream. Paths as values and\n`object` values remain unsupported.\n\n\n`rnd` and `rand()` draw from a seeded generator (`randomSeed`, default\n`DEFAULT_RANDOM_SEED` = 0, overridable in-script with `seed`) rather than `Math.random()`:\none script is evaluated twice — once on the server, which validates it, and again in the\nbrowser, which renders it — and an unseeded generator lets those two runs take different\nbranches.\n\nConversion limits cover nodes (100,000), loop/path work (100,000 iterations), detail (3–256),\naggregate vertices (5,000,000, including CSG intermediates), and a coarse 30-second wall-clock\nbudget checked between nodes — it refuses to start the next node once the budget is spent, but\ncannot interrupt one long boolean. Every one is overridable through `ConversionOptions`.\n\nMeasured, those ceilings bind in different places: a grid of 22,500 cubes is ~540k vertices and\nconverts in under 200 ms, 930 spheres at `detail 64` reach the vertex budget, and the wall clock\nis in practice the CSG budget alone — 240k vertices of plain geometry take ~95 ms, while 100\nboolean subtractions take 5.3 s. Remember the script is built TWICE, once on the server to\nvalidate it and once in the browser to draw it, and that the browser's copy is what the user's\ntab has to keep rendering.\n\n## Scripts\n\n```bash\nyarn build      # vite build + d.ts emit\nyarn typecheck  # vue-tsc --noEmit\nyarn lint\nyarn test       # node:test — tool execute + parser + Three.js conversion\n```\n","readmeFilename":"README.md"}