{"_id":"@aotoki/slidev-theme-terraforming","_rev":"16-11a56789646ab153058d40036c0c965c","name":"@aotoki/slidev-theme-terraforming","dist-tags":{"latest":"0.7.2"},"versions":{"0.1.0":{"name":"@aotoki/slidev-theme-terraforming","version":"0.1.0","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.1.0","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"54225b5e99c9ac6ad198f7d6c27fe1164b9b61c3","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.1.0.tgz","fileCount":17,"integrity":"sha512-+QC0M/SdsPOxdBrdthYcdsux7Ci93RVZOzMso/RnJtzy7tAOb1MWNfmv3v5/0yhaA+KHH/6FF/VAZaRz+J/l4Q==","signatures":[{"sig":"MEYCIQCTh120CW/7XrPvNZn6QKp5GlnAhlY8EL3QQkDhTwAviwIhAJ/on3RDZEyPEGbg49P8lhJh2HpdnZfIc6hHIUcahzDA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24109},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.1.0.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/private/var/folders/vl/4zdff9yd5132j4719fxx7fl80000gn/T/58e3d77c3e463be7b495fff44b5444a1/aotoki-slidev-theme-terraforming-0.1.0.tgz","_integrity":"sha512-+QC0M/SdsPOxdBrdthYcdsux7Ci93RVZOzMso/RnJtzy7tAOb1MWNfmv3v5/0yhaA+KHH/6FF/VAZaRz+J/l4Q==","_npmVersion":"10.8.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"20.19.0","dependencies":{"@slidev/types":"^51.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^51.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.1.0_1747232760006_0.3009135852493141","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aotoki/slidev-theme-terraforming","version":"0.2.0","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.2.0","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"9ca09a413ad47bcea837080ecb94cde8ad529e5a","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.2.0.tgz","fileCount":18,"integrity":"sha512-TPpffYXr/JncIdY8TjVXsW2xbcgPOxn0svPnELEUwhLqug+EdMS9S7XisKzPrnnLjN5iA4OUHkR9m1A5DzijWQ==","signatures":[{"sig":"MEQCIGR4ihd6gmnCergRWNNF8pznHrS0Hk8/qDAUtfBnfm0mAiBorThUrLpt573Lbzh+vGULgxSehuHgIB3Q6eLdPwkFTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26160},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.2.0.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/private/var/folders/vl/4zdff9yd5132j4719fxx7fl80000gn/T/369c6618cf2c103fcf682174f4c786fe/aotoki-slidev-theme-terraforming-0.2.0.tgz","_integrity":"sha512-TPpffYXr/JncIdY8TjVXsW2xbcgPOxn0svPnELEUwhLqug+EdMS9S7XisKzPrnnLjN5iA4OUHkR9m1A5DzijWQ==","_npmVersion":"10.8.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"20.19.0","dependencies":{"@slidev/types":"^51.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^51.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.2.0_1747303150709_0.11776347886320715","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aotoki/slidev-theme-terraforming","version":"0.3.0","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.3.0","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"f1d136f50b48ebbb915ad05fd3a0d7909f51ae8b","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.3.0.tgz","fileCount":23,"integrity":"sha512-Irh7uKcHkHrEHIsjJWxX9fOg9b6AP2fChVl5RpRV3nXaN7P27fVbkKZU6RkOFaXWT7KD2ZAYXx2WvhdlYlvkkg==","signatures":[{"sig":"MEYCIQCaKwZ4oNsIxNp2tgb8cj5MZj4vSq8dihUFkvrBK7GppwIhAP1kW0Pp+/Xj9ew5fFjukML3MKbRi7KReJKpHb9QBkn5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28020},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.3.0.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/private/var/folders/vl/4zdff9yd5132j4719fxx7fl80000gn/T/775da2782bc88ef907a06bfcbbd8b3af/aotoki-slidev-theme-terraforming-0.3.0.tgz","_integrity":"sha512-Irh7uKcHkHrEHIsjJWxX9fOg9b6AP2fChVl5RpRV3nXaN7P27fVbkKZU6RkOFaXWT7KD2ZAYXx2WvhdlYlvkkg==","_npmVersion":"10.8.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"20.19.0","dependencies":{"@slidev/types":"^51.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^51.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.3.0_1747650104017_0.29371384680909074","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aotoki/slidev-theme-terraforming","version":"0.3.1","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.3.1","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"9f9a14655bf7e1bafccd03b3309a94f2ac800e96","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.3.1.tgz","fileCount":23,"integrity":"sha512-vv0WTJHE0bG+DQQul4+6Ii9pxmOuMROw79j1kxvAAQqw7pOFiTmYll/dfyNVq7t3i0McO1/vNN3YSo1pirSTWw==","signatures":[{"sig":"MEQCIGfJ8Dvmkr6b9vaz7W2XGjTKK243OC99x1Khd+inHINuAiBand7u18bChLtuNjPk56+P8Xpyiz3qOWzf+osuLOyEOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28328},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.3.1.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/private/var/folders/vl/4zdff9yd5132j4719fxx7fl80000gn/T/816e3a930f7ba41f73a018e5d31fd869/aotoki-slidev-theme-terraforming-0.3.1.tgz","_integrity":"sha512-vv0WTJHE0bG+DQQul4+6Ii9pxmOuMROw79j1kxvAAQqw7pOFiTmYll/dfyNVq7t3i0McO1/vNN3YSo1pirSTWw==","_npmVersion":"10.8.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"20.19.0","dependencies":{"@slidev/types":"^51.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^51.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.3.1_1747650406754_0.8089904839469786","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aotoki/slidev-theme-terraforming","version":"0.3.2","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.3.2","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"0b30248aa93c8183edfe68bda8b4d3bd40235abb","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.3.2.tgz","fileCount":22,"integrity":"sha512-u6l9zafmnZqu2eA93KrN6maEF8NBUeTY4R/MnNb7te+4AwHggewf9qEJf/+eT52HLfpWwFt0cYyhoiipqR/Vmw==","signatures":[{"sig":"MEUCIFSfWF0c7woggYnz+pktSF8ENCf7eoFDiRduDg2cGbO0AiEAryfXOno97M3iVADmTFYpzKWl4rQtrfLPOE5d8LC8818=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28353},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.3.2.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/tmp/baeb50c2561242a7f8e73de19fdc2e5b/aotoki-slidev-theme-terraforming-0.3.2.tgz","_integrity":"sha512-u6l9zafmnZqu2eA93KrN6maEF8NBUeTY4R/MnNb7te+4AwHggewf9qEJf/+eT52HLfpWwFt0cYyhoiipqR/Vmw==","_npmVersion":"10.9.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@slidev/types":"^51.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^51.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.3.2_1747651075076_0.8093211451369051","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aotoki/slidev-theme-terraforming","version":"0.4.0","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.4.0","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"54d168dac6fc1676fa24b27724552fecfda24507","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.4.0.tgz","fileCount":28,"integrity":"sha512-InpBNEinWnoAkUiVmvSsd411+OocWFAjt3IegXNOM/UsTGe25N7UkaOJZDsEd5oubzGXZ0tbnk9mKTjPvLe2Og==","signatures":[{"sig":"MEYCIQDCLZt+/rrGkr60gq2xrGb9Wm9FmCfV0bqShk2cnYqlBwIhANR5DnhDQCaMGF8YM0I0+FL1jLHkEsexE6j1pw+rcf9A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3045714},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.4.0.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/tmp/caba53112445f3d0da7047b4e8fff650/aotoki-slidev-theme-terraforming-0.4.0.tgz","_integrity":"sha512-InpBNEinWnoAkUiVmvSsd411+OocWFAjt3IegXNOM/UsTGe25N7UkaOJZDsEd5oubzGXZ0tbnk9mKTjPvLe2Og==","_npmVersion":"10.9.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@slidev/types":"^51.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^51.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.4.0_1747920537068_0.6938134105791778","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@aotoki/slidev-theme-terraforming","version":"0.4.1","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.4.1","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"88e10ab114fb0e8d3b6e88b7d073a1536a021767","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.4.1.tgz","fileCount":28,"integrity":"sha512-mjSP0hDhXyxWUuLKu5qxSQ04Ghbo9xDr7ROpRacsc1CsB2uix189qujypwb7uL7Lpd3KUOelJ+55m7DFJUwheA==","signatures":[{"sig":"MEYCIQDvfrE907wWINwSsJ+mu1+5z/EGCLBIBCY+6zF769bp0gIhAIDy4zu/5ZsTuqZuu6XcRtIkBYxHWPUbukDxtF6tr+rL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3045975},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.4.1.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/tmp/735c6dc641a0d1637364526e87282d9b/aotoki-slidev-theme-terraforming-0.4.1.tgz","_integrity":"sha512-mjSP0hDhXyxWUuLKu5qxSQ04Ghbo9xDr7ROpRacsc1CsB2uix189qujypwb7uL7Lpd3KUOelJ+55m7DFJUwheA==","_npmVersion":"10.9.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@slidev/types":"^51.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^51.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.4.1_1747921184287_0.6908291410414538","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@aotoki/slidev-theme-terraforming","version":"0.4.2","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.4.2","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"b379b1e2e1678347f6cd3e917684b81ffe50fb62","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.4.2.tgz","fileCount":28,"integrity":"sha512-B/+Fg0MuyeVSejbmS2ROLRTr62PQbuezLNrVE79F3zsIrvLB7RAMMHNx/lo4GzqbqrEsOauB4UA1JvBc3hUYHA==","signatures":[{"sig":"MEYCIQCljspt9wHyWTZayEJ+8UBs2K7bSqmuod3VMrUfu/t0cAIhAM7evkd0ctGCMnumyzr1WspMssmbaF0Q22KBBsPT1f1H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3046456},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.4.2.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/tmp/b6d68c60b41f486bb4190163bc84122b/aotoki-slidev-theme-terraforming-0.4.2.tgz","_integrity":"sha512-B/+Fg0MuyeVSejbmS2ROLRTr62PQbuezLNrVE79F3zsIrvLB7RAMMHNx/lo4GzqbqrEsOauB4UA1JvBc3hUYHA==","_npmVersion":"10.9.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@slidev/types":"^51.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^51.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.4.2_1747924300591_0.9485776016624645","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@aotoki/slidev-theme-terraforming","version":"0.4.3","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.4.3","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"c3ae5a619465bd11f8a935967b02dca9af6fb10a","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.4.3.tgz","fileCount":29,"integrity":"sha512-iOTH/zjqEYqiwRf2LhA16ZpSY1yybxw/VdybM7oDHAFyHibN2rg+C5vlr+18azl+25HAQK56Szv7zIQyY0SgGA==","signatures":[{"sig":"MEYCIQC0DyjyBiSmm/BsOAi6Bb5VBdTSY25lyh+cvOmJQiZXBwIhALrvVk6peZLkkBZKFW8i4ajAOOs1DCYOPOoU/tr/ume4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3046936},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.4.3.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"elct9620","email":"elct9620@frost.tw"},"_resolved":"/tmp/e84b169bae00fa6e0b81f27151f77f9b/aotoki-slidev-theme-terraforming-0.4.3.tgz","_integrity":"sha512-iOTH/zjqEYqiwRf2LhA16ZpSY1yybxw/VdybM7oDHAFyHibN2rg+C5vlr+18azl+25HAQK56Szv7zIQyY0SgGA==","_npmVersion":"11.6.1","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@slidev/types":"^52.6.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^52.6.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.4.3_1762445732367_0.20787346421994668","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@aotoki/slidev-theme-terraforming","version":"0.4.6","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.4.6","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"homepage":"https://github.com/elct9620/slidev-theme-terraforming#readme","bugs":{"url":"https://github.com/elct9620/slidev-theme-terraforming/issues"},"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"19fb9e692998deeea02c95ab79609d3411886429","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.4.6.tgz","fileCount":29,"integrity":"sha512-EA4PyLCD/89lZoiEuAMuOuDypG7eYCSmyJfoNxw9FCjsNvNdZg/jF1BRnNvurgHVZkPDQ718SxYM8a8TJ9Bzgg==","signatures":[{"sig":"MEQCIC3nU4c75Ft/bdjrEqKtUvcJ1x8wUD/uV/v1oqByakX/AiAvDOcXvwJuoKn0Gn780dXLjiRfGoBxdckCaMA1Xpd7KA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aotoki%2fslidev-theme-terraforming@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3047890},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.4.6.tgz","slidev":{"defaults":{"fonts":{"mono":"Fira Code","sans":"Futura"},"transition":"view-transition","aspectRatio":"16/9"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f97a5af-c2a2-4437-916f-b0197b0e5923"}},"_resolved":"/tmp/4699f2f88c6fe8c2fe9d31136576b5cb/aotoki-slidev-theme-terraforming-0.4.6.tgz","_integrity":"sha512-EA4PyLCD/89lZoiEuAMuOuDypG7eYCSmyJfoNxw9FCjsNvNdZg/jF1BRnNvurgHVZkPDQ718SxYM8a8TJ9Bzgg==","repository":{"url":"git+https://github.com/elct9620/slidev-theme-terraforming.git","type":"git"},"_npmVersion":"11.16.0","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@slidev/types":"^52.16.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^52.16.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.4.6_1782890103294_0.8007253982060505","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aotoki/slidev-theme-terraforming","version":"0.5.0","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.5.0","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"homepage":"https://github.com/elct9620/slidev-theme-terraforming#readme","bugs":{"url":"https://github.com/elct9620/slidev-theme-terraforming/issues"},"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"ca6212949c09c55cf12ef178c594c0179bc7c5d8","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.5.0.tgz","fileCount":44,"integrity":"sha512-gmBN/7eFgURIzQ3egMcCrRLnr8NChdGToegNnlcVaQIpNCl1KCTkIeyteHluxppzVF4UuwjDFDWABRa4+h9viA==","signatures":[{"sig":"MEUCIQCKS1lnjA8dwIBM1TtAGQTcEn+8EnZOeUbhOQDd0CkRegIgJtNRSvwaEI1zWQn+fCF+1AI9yqWw44bc7A+8YRNafRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aotoki%2fslidev-theme-terraforming@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3108901},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.5.0.tgz","slidev":{"defaults":{"fonts":{"mono":"JetBrains Mono"},"transition":"view-transition","aspectRatio":"16/9","canvasWidth":1920},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f97a5af-c2a2-4437-916f-b0197b0e5923"}},"_resolved":"/tmp/76751faa206cab6a75bf462215e84d8e/aotoki-slidev-theme-terraforming-0.5.0.tgz","_integrity":"sha512-gmBN/7eFgURIzQ3egMcCrRLnr8NChdGToegNnlcVaQIpNCl1KCTkIeyteHluxppzVF4UuwjDFDWABRa4+h9viA==","repository":{"url":"git+https://github.com/elct9620/slidev-theme-terraforming.git","type":"git"},"_npmVersion":"11.16.0","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@slidev/types":"^52.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","@slidev/cli":"^52.18.0","playwright-chromium":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.5.0_1784969562757_0.21758684404059347","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aotoki/slidev-theme-terraforming","version":"0.6.0","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.6.0","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"homepage":"https://github.com/elct9620/slidev-theme-terraforming#readme","bugs":{"url":"https://github.com/elct9620/slidev-theme-terraforming/issues"},"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"2da615150403c7e56d07398cbdba9e1bd63e24a6","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.6.0.tgz","fileCount":46,"integrity":"sha512-X2YmDF1Ftjxn15k5HL+FHLdQThFHhJGBYqdqqTTAOHSBK8KCHdEHzGhUwSI/Zzqs5RHACXOp8rf4Ui5KzFxGeQ==","signatures":[{"sig":"MEUCIB5mNMCmwkVBjxXlPSQfxUt2puTfWWpZ+Wx+JpjxcOQHAiEA1xFtuoi647oW+dnBLYDixp732WJsFk3kVsHaTCohFOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aotoki%2fslidev-theme-terraforming@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3140262},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.6.0.tgz","slidev":{"defaults":{"fonts":{"mono":"JetBrains Mono"},"transition":"tf-fade","aspectRatio":"16/9","canvasWidth":1920},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f97a5af-c2a2-4437-916f-b0197b0e5923"}},"_resolved":"/tmp/d5050286cbe09f74bd08d8442dfcf4b8/aotoki-slidev-theme-terraforming-0.6.0.tgz","_integrity":"sha512-X2YmDF1Ftjxn15k5HL+FHLdQThFHhJGBYqdqqTTAOHSBK8KCHdEHzGhUwSI/Zzqs5RHACXOp8rf4Ui5KzFxGeQ==","repository":{"url":"git+https://github.com/elct9620/slidev-theme-terraforming.git","type":"git"},"_npmVersion":"11.16.0","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@slidev/types":"^52.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","@slidev/cli":"^52.18.0","@slidev/client":"^52.18.0","playwright-chromium":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.6.0_1784983071924_0.5599411193180388","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@aotoki/slidev-theme-terraforming","version":"0.6.1","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.6.1","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"homepage":"https://github.com/elct9620/slidev-theme-terraforming#readme","bugs":{"url":"https://github.com/elct9620/slidev-theme-terraforming/issues"},"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"db0c365a732f0858bb3203f7c4334617d7a20e7f","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.6.1.tgz","fileCount":46,"integrity":"sha512-1eyP5siPKmwKcwTG46VlLBTjjjKb6HJftyPSKWn7lmEJ2gWv7XGNH3CXIiJ+NfqwOqRIJH3xUojLyspyHKEMhg==","signatures":[{"sig":"MEUCIQDCDy4b5Su1pLTyda8vSDV/aM3wmpr4W6N222cxlMBDIAIgWUIy1mASQmJXmM7aAnz/1ugpvpNf3VufnYbAKJvhuBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aotoki%2fslidev-theme-terraforming@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3141924},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.6.1.tgz","slidev":{"defaults":{"fonts":{"mono":"JetBrains Mono"},"transition":"tf-fade","aspectRatio":"16/9","canvasWidth":1920},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f97a5af-c2a2-4437-916f-b0197b0e5923"}},"_resolved":"/tmp/362278e995f433e7e6404992a91f86d5/aotoki-slidev-theme-terraforming-0.6.1.tgz","_integrity":"sha512-1eyP5siPKmwKcwTG46VlLBTjjjKb6HJftyPSKWn7lmEJ2gWv7XGNH3CXIiJ+NfqwOqRIJH3xUojLyspyHKEMhg==","repository":{"url":"git+https://github.com/elct9620/slidev-theme-terraforming.git","type":"git"},"_npmVersion":"11.16.0","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@slidev/types":"^52.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","@slidev/cli":"^52.18.0","@slidev/client":"^52.18.0","playwright-chromium":"^1.61.1"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.6.1_1784985673770_0.8728981225255497","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@aotoki/slidev-theme-terraforming","version":"0.7.0","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.7.0","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"homepage":"https://github.com/elct9620/slidev-theme-terraforming#readme","bugs":{"url":"https://github.com/elct9620/slidev-theme-terraforming/issues"},"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"96835bf6e0825619b45fd01c8de9f23738631547","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.7.0.tgz","fileCount":50,"integrity":"sha512-i95c8LF8FYR7yTb4ykn+BVeEkDeqZd2bUoludhJXyZZk725KqD1RsoTdcCnZc9pJAhTWxmfLi7lnkyMLwbRzzw==","signatures":[{"sig":"MEYCIQCUXzR9ypAhGnnR7TqogONo2NIgHZSEFc9zLRnW1hDdZwIhAIejoxfoJPkZTBRPj+dciG7htAzyLJcOrfn0USXz8ZxT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aotoki%2fslidev-theme-terraforming@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3163305},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.7.0.tgz","slidev":{"defaults":{"fonts":{"mono":"JetBrains Mono"},"transition":"tf-fade","aspectRatio":"16/9","canvasWidth":1920},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","lint":"eslint .","test":"vitest run --project unit","build":"slidev build example.md","export":"slidev export example.md","lint:fix":"eslint . --fix","test:deck":"vitest run --project deck","typecheck":"vue-tsc --noEmit","screenshot":"slidev export example.md --format png","test:watch":"vitest --project unit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f97a5af-c2a2-4437-916f-b0197b0e5923"}},"_resolved":"/tmp/2feff86ec896877404c5b661fab9e29f/aotoki-slidev-theme-terraforming-0.7.0.tgz","_integrity":"sha512-i95c8LF8FYR7yTb4ykn+BVeEkDeqZd2bUoludhJXyZZk725KqD1RsoTdcCnZc9pJAhTWxmfLi7lnkyMLwbRzzw==","repository":{"url":"git+https://github.com/elct9620/slidev-theme-terraforming.git","type":"git"},"_npmVersion":"11.16.0","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@slidev/types":"^52.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","vite":"^8.1.5","eslint":"^10.7.0","vitest":"^4.1.10","vue-tsc":"^3.3.8","happy-dom":"^20.11.1","typescript":"^6.0.3","@slidev/cli":"^52.18.0","@slidev/client":"^52.18.0","@vue/test-utils":"^2.4.11","@vitejs/plugin-vue":"^6.0.8","playwright-chromium":"^1.61.1","@antfu/eslint-config":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.7.0_1786017398374_0.9379532568418383","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@aotoki/slidev-theme-terraforming","version":"0.7.1","keywords":["slidev-theme","slidev"],"_id":"@aotoki/slidev-theme-terraforming@0.7.1","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"homepage":"https://github.com/elct9620/slidev-theme-terraforming#readme","bugs":{"url":"https://github.com/elct9620/slidev-theme-terraforming/issues"},"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"f85ea04f2a6581de0d4a158f63d52dd2843a022e","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.7.1.tgz","fileCount":50,"integrity":"sha512-PhVmDkVLXfKEaILfm4ypWwXGp+uYgqQGa98x0Lcfe9gdc6o5rTvNqT5b8yJimTz+hQIW0G6Sh3a9A+PA6Hf5/Q==","signatures":[{"sig":"MEUCICXMPaGWpxCWt9cwY23U+y4yPKGoRM9+S6hAhWRREKzvAiEAzlPwfb1aYeWmit4J6XXCBzv13yZerGnrh5wj3cNl8vc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aotoki%2fslidev-theme-terraforming@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3163772},"type":"module","_from":"file:aotoki-slidev-theme-terraforming-0.7.1.tgz","slidev":{"defaults":{"fonts":{"mono":"JetBrains Mono"},"transition":"tf-fade","aspectRatio":"16/9","canvasWidth":1920},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","lint":"eslint .","test":"vitest run --project unit","build":"slidev build example.md","export":"slidev export example.md","lint:fix":"eslint . --fix","test:deck":"vitest run --project deck","typecheck":"vue-tsc --noEmit","screenshot":"slidev export example.md --format png","test:watch":"vitest --project unit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f97a5af-c2a2-4437-916f-b0197b0e5923"}},"_resolved":"/tmp/f6ee9d26fcfbf646249f8d39dbaf5840/aotoki-slidev-theme-terraforming-0.7.1.tgz","_integrity":"sha512-PhVmDkVLXfKEaILfm4ypWwXGp+uYgqQGa98x0Lcfe9gdc6o5rTvNqT5b8yJimTz+hQIW0G6Sh3a9A+PA6Hf5/Q==","repository":{"url":"git+https://github.com/elct9620/slidev-theme-terraforming.git","type":"git"},"_npmVersion":"11.16.0","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@slidev/types":"^52.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","vite":"^8.1.5","eslint":"^10.7.0","vitest":"^4.1.10","vue-tsc":"^3.3.8","happy-dom":"^20.11.1","typescript":"^6.0.3","@slidev/cli":"^52.18.0","@slidev/client":"^52.18.0","@vue/test-utils":"^2.4.11","@vitejs/plugin-vue":"^6.0.8","playwright-chromium":"^1.61.1","@antfu/eslint-config":"^9.2.0"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-terraforming_0.7.1_1786022425776_0.12287676489350141","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@aotoki/slidev-theme-terraforming","type":"module","version":"0.7.2","repository":{"type":"git","url":"git+https://github.com/elct9620/slidev-theme-terraforming.git"},"keywords":["slidev-theme","slidev"],"engines":{"node":">=18.0.0"},"dependencies":{"@slidev/types":"^52.18.0"},"devDependencies":{"@antfu/eslint-config":"^9.2.0","@slidev/cli":"^52.18.0","@slidev/client":"^52.19.0","@vitejs/plugin-vue":"^6.0.8","@vue/test-utils":"^2.4.11","eslint":"^10.8.0","happy-dom":"^20.11.1","playwright-chromium":"^1.62.1","typescript":"^6.0.3","vite":"^8.2.0","vitest":"^4.1.10","vue":"^3.5.40","vue-tsc":"^3.3.9"},"//":"Learn more: https://sli.dev/guide/write-theme.html","slidev":{"colorSchema":"light","defaults":{"canvasWidth":1920,"aspectRatio":"16/9","transition":"tf-fade","fonts":{"mono":"JetBrains Mono"}}},"scripts":{"build":"slidev build example.md","dev":"slidev example.md --open","export":"slidev export example.md","screenshot":"slidev export example.md --format png","lint":"eslint .","lint:fix":"eslint . --fix","test":"vitest run --project unit","test:watch":"vitest --project unit","test:deck":"vitest run --project deck","typecheck":"vue-tsc --noEmit"},"_id":"@aotoki/slidev-theme-terraforming@0.7.2","description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","bugs":{"url":"https://github.com/elct9620/slidev-theme-terraforming/issues"},"homepage":"https://github.com/elct9620/slidev-theme-terraforming#readme","_integrity":"sha512-YnXIBP0+u3szxcHgdCqNONXIRlzTQSWCfbLpe7NLJT4YsO4YR0i5GdhCokf5lGWkkbM4XflJrN03wt5A8pq6sg==","_resolved":"/tmp/508db8b8df0626cb13c6334812d5812f/aotoki-slidev-theme-terraforming-0.7.2.tgz","_from":"file:aotoki-slidev-theme-terraforming-0.7.2.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-YnXIBP0+u3szxcHgdCqNONXIRlzTQSWCfbLpe7NLJT4YsO4YR0i5GdhCokf5lGWkkbM4XflJrN03wt5A8pq6sg==","shasum":"0dc84911138bec7697adb6e4446f891d744b498b","tarball":"https://registry.npmjs.org/@aotoki/slidev-theme-terraforming/-/slidev-theme-terraforming-0.7.2.tgz","fileCount":50,"unpackedSize":3164072,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aotoki%2fslidev-theme-terraforming@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEuo7pD/XeT3PEcusdTyJeCpvHuXWoKb0DlTReA178HwAiAYCKGymueU1RYfi5r6KRQeaRzLAn2IObfKRhQgzZAQlg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2f97a5af-c2a2-4437-916f-b0197b0e5923"}},"directories":{},"maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/slidev-theme-terraforming_0.7.2_1786435201855_0.47483938585381513"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-14T14:25:59.913Z","modified":"2026-08-11T08:00:02.452Z","0.1.0":"2025-05-14T14:26:00.210Z","0.2.0":"2025-05-15T09:59:10.897Z","0.3.0":"2025-05-19T10:21:44.198Z","0.3.1":"2025-05-19T10:26:46.953Z","0.3.2":"2025-05-19T10:37:55.261Z","0.4.0":"2025-05-22T13:28:57.307Z","0.4.1":"2025-05-22T13:39:44.565Z","0.4.2":"2025-05-22T14:31:40.879Z","0.4.3":"2025-11-06T16:15:32.633Z","0.4.6":"2026-07-01T07:15:03.506Z","0.5.0":"2026-07-25T08:52:42.999Z","0.6.0":"2026-07-25T12:37:52.157Z","0.6.1":"2026-07-25T13:21:14.019Z","0.7.0":"2026-08-06T11:56:38.626Z","0.7.1":"2026-08-06T13:20:25.994Z","0.7.2":"2026-08-11T08:00:02.076Z"},"bugs":{"url":"https://github.com/elct9620/slidev-theme-terraforming/issues"},"homepage":"https://github.com/elct9620/slidev-theme-terraforming#readme","keywords":["slidev-theme","slidev"],"repository":{"type":"git","url":"git+https://github.com/elct9620/slidev-theme-terraforming.git"},"description":"[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)","maintainers":[{"name":"elct9620","email":"elct9620@frost.tw"}],"readme":"# Slidev Theme - Terraforming\n\n[![NPM version](https://img.shields.io/npm/v/@aotoki/slidev-theme-terraforming?color=3AB9D4&label=)](https://www.npmjs.com/package/@aotoki/slidev-theme-terraforming)\n\nA personal theme for [Slidev](https://github.com/slidevjs/slidev) by Aotokitsuruya.\n\n## Install\n\nAdd the following frontmatter to your `slides.md`. Start Slidev then it will prompt you to install the theme automatically.\n\n<pre><code>---\ntheme: <b>'@aotoki/slidev-theme-terraforming'</b>\n---</code></pre>\n\nLearn more about [how to use a theme](https://sli.dev/guide/theme-addon#use-theme).\n\n## Canvas\n\nThe theme draws on a **1920×1080** canvas, matching the design file it is derived from.\nA deck can go back to another size from its own headmatter:\n\n```yaml\n---\ncanvasWidth: 980\n---\n```\n\nThe root font size is 16px, so a px measurement from the design file divided by 16 is\nits rem value, and divided by 4 is its UnoCSS spacing number — 72px is `p-18`.\n\nMermaid sizes its diagrams from its own text metrics, so its base type is set to the\nbody step to keep a diagram proportionate to the canvas. An individual block can still\ntake `{scale: n}` when it needs to be larger or smaller than that.\n\n## Transition\n\nSlides cross over with `tf-fade`, the theme's own transition. Only the content fades:\nthe sidebar is the same on every slide, so fading the whole page would dissolve it\ninto an identical copy of itself and put motion in the one part of the canvas that\nnever changes. It runs for `--slidev-transition-duration`, the same variable Slidev's\nown transitions read.\n\nA deck can name any of Slidev's builtins instead:\n\n```yaml\n---\ntransition: slide-left\n---\n```\n\nNote that the builtins fade or slide the whole page, sidebar included.\n\n## Design Tokens\n\nTokens are defined in two layers in `styles/tokens.css`. The first layer names values\nfor what they are, using the Tailwind v4 `@theme` namespaces:\n\n| Namespace      | Tokens                                                         |\n|----------------|----------------------------------------------------------------|\n| `--color-*`    | `kon-500` `gunJyo-500` `tamago-500` `jinZamOmi-500` `gray-200` `gray-500` `white` `black` |\n| `--text-*`     | `title` 64 · `heading` 48 · `body` 36 · `sub` 32 · `note` 16    |\n| `--leading-*`  | `none` 1 · `heading` 1.25 · `body` 1.5                          |\n| `--font-*`     | `sans` `mono`                                                   |\n| `--tf-motion-*`| `travel` 600ms · `settle` 500ms · `touch` 200ms · `delay` 300ms · `stagger` 100ms · `ease-move` · `ease-fade` · `rise` 20 |\n| `--spacing-*`  | `line` 5 · `shadow` 10 · `sidebar` 296 · `slash` 100 · `block-w` 270 · `block-h` 162 |\n| `--container-*`| `content` 1380                                                  |\n\nLeading answers a question about the text rather than about its size. `none` is for a\nline laid out as a single line, where the line box has to equal the type size for the\nbox around it to measure out; `body` is for anything that may wrap; `heading` sits\nbetween and hands the extra back through a negative margin, so a one-line heading\nstill lands where the design file's 100% put it. Space between blocks is always a\nmargin, never leading.\n\nThe second layer names them for the role they play: `--slidev-theme-primary`,\n`--slidev-theme-secondary`, `--slidev-theme-accent`, `--slidev-theme-neutral`,\n`--slidev-theme-text`, `--slidev-theme-surface`, `--slidev-theme-on-surface`.\n\nBoth layers are wired into the UnoCSS theme, so slides can use them as utilities:\n\n```html\n<div class=\"bg-gunJyo-500 text-white text-sub p-8\">A block of 群青</div>\n<p class=\"text-note text-neutral\">A source link</p>\n```\n\nThe utilities emit `var()` references rather than literals, so overriding a token in a\ndeck's own `style.css` changes both the stylesheet and the utilities:\n\n```css\n:root {\n  --color-gunJyo-500: #3a8fc4;\n}\n```\n\n### Fonts\n\nThe sans stack lives in `--font-sans` and resolves to locally installed faces, so no\nwebfont is fetched for it:\n\n- [Futura](https://zh.wikipedia.org/zh-tw/Futura) / [Futura PT](https://fonts.adobe.com/fonts/futura-pt) for Latin\n- PingFang TC / LiHei Pro / Heiti TC / Microsoft JhengHei for CJK\n\nFetched from Google Fonts:\n\n- JetBrains Mono for code\n\nBundled with the theme:\n\n- [Senobi Gothic](https://modi.jpn.org/font_senobi.php) for the name in `About`\n\nLoaded from a CDN when Mermaid is used:\n\n- [Excalifont](https://plus.excalidraw.com/excalifont) and [XiaolaiSC](https://github.com/lxgw/kose-font)\n\n## Layouts\n\n- `default` — content starts at the top edge\n- `cover`\n- `intro`\n- `section`\n- `statement`\n- `center` — centred vertically, text centred\n- `diagram` — centred on both axes, for a page whose content is the figure itself\n\n## Components\n\nWhat the audience reads is written as children; what it does not — geometry, data, a\nresource, a presentational choice — is a prop. So a deck writes its content in the order\nit is read, and where each part lands is the theme's to decide.\n\n### About\n\nThe speaker introduction, written as the lines it is made of.\n\n```html\n<About>\n  <Name>蒼時弦也</Name>\n  <Title>Software Architect</Title>\n  <Contact>https://blog.aotoki.me/</Contact>\n  <Contact>@elct9620</Contact>\n</About>\n```\n\n| Component | Props |\n|-----------|-------|\n| `About`   | `avatar`, `alt` |\n| `Name`    | — |\n| `Title`   | — |\n| `Contact` | — |\n\nWrite a `Title` for each role the talk gives the speaker and they are taken in turn, a\nclick apart — the opening that says what the speaker used to be. The page learns its\nlength from them, so there is no `clicks:` to write. All of them are laid out in the same\nplace, so the column stays as wide as the longest and neither it nor the portrait beside\nit moves; the role fades rather than cuts.\n\n```html\n<About>\n  <Name>蒼時弦也</Name>\n  <Title>Associate AI Engineer</Title>\n  <Title>AI Engineer</Title>\n  <Contact>https://blog.aotoki.me/</Contact>\n</About>\n```\n\nEach kind counts its own turns, so a `Title` that changes on the first click is a\nsequence of its own — nothing about it decides when any other part of the introduction\nmay change.\n\n`avatar` is a prop because a portrait is a resource the page is given rather than\nsomething read off it. It carries no `alt` of its own: the name is written beside it, and\nrepeating it would have a screen reader say it twice. `alt` is there for the deck that\nputs a face beside no name at all.\n\n### Diagram vocabulary\n\nEvery diagram is built from four ideas — a flat fill, a focus frame, a drawn stroke,\nand absence expressed as opacity. Nothing scales or bolds, so a figure can animate\nacross clicks without the layout shifting underneath it.\n\n| Component | Props |\n|-----------|-------|\n| `Stage`   | `column`, `gap`, `fit` |\n| `Block`   | `color` (`gunJyo` \\| `tamago` \\| `jinZamOmi` \\| `gray`), `name`, `sub`, `hidden` |\n| `Group`   | `name`, `column`, `gap`, `hidden` |\n| `Stroke`  | `dir` (`right` \\| `left` \\| `both` \\| `up` \\| `down` \\| `both-y` \\| `none`), `label`, `labels`, `name`, `flip`, `length`, `hidden` |\n| `Focus`   | `steps`, `of`, `color` |\n| `Caption` | — |\n| `Line`    | — |\n\n`Focus` is the selection box. It is positioned absolutely and takes no space, so it\nnever disturbs what it frames, and it transitions its position and size rather than\nfading — moving the focus reads as one rectangle travelling and resizing.\n\nName the pieces and let `steps` say what the frame holds at each click. Several names\ngive the box that contains them all, so neighbours read as a range; `null` frames\nnothing, which is how the box waits offstage until the click it belongs to. There are\nno coordinates and no indices, so inserting a block renumbers nothing.\n\n```html\n<Stage>\n  <Block name=\"proxy\" color=\"tamago\">Proxy</Block>\n  <Stroke :label=\"$clicks === 1 ? 'call' : ''\" :labels=\"['call', 'result']\" />\n  <Block name=\"object\" color=\"gunJyo\">Object</Block>\n\n  <Focus :steps=\"['proxy', ['proxy', 'object']]\" />\n</Stage>\n\n<Caption>The real <strong>object</strong> lives on the far side.</Caption>\n```\n\nThe list is what tells the slide how long it is — see [Clicks](#clicks) — so the walk\nthrough a diagram is written in one place instead of being split between a frontmatter\ncount and a chain of comparisons. Entries are addressed by absolute click number, so\n`steps[0]` is the state before the first click.\n\nA caption that says something new at each click writes a `Line` for each. They are taken\nin turn a click apart, and all of them occupy one place, so the narration fades from one\nto the next and the diagram above it never moves:\n\n```html\n<Caption>\n  <Line>The real <strong>object</strong> lives on the far side.</Line>\n  <Line>Calling the proxy sends the request <strong>across the wire</strong>.</Line>\n</Caption>\n```\n\n`of` is the alternative, for a box driven from a `$clicks` expression of your own. It\ntakes the same names as one entry of `steps` and the page then has to declare its own\nclicks. To frame something the stage does not own, leave both out and place the box by\nhand — Slidev's `v-drag` can position it in the preview and write the result back into\nthe markdown:\n\n```html\n<Focus v-drag=\"[420, 180, 660, 220]\" />\n```\n\n`Stroke` takes its length from the widest entry in `labels`, so changing or clearing\nthe label never resizes the line. Supply `labels` whenever the text changes across\nclicks. It is drawn as SVG so its weight survives any transform the slide applies;\nSlidev's own `<Arrow>` remains available for annotating a slide by coordinates.\n\n`Stage` spaces its pieces with `gap` — the pieces keep the size the design file gives\nthem and the breathing room is what adapts. A row holds about four blocks before it\nruns past the content width; past that, prefer `column` or a second page. `fit` is an\nescape hatch that scales one stage down to fit, at the cost of that page's blocks no\nlonger matching the rest of the deck.\n\n### Charts\n\n| Component | Props |\n|-----------|-------|\n| `Bars`    | `max`, `steps`, `active`, `reveal`, `log`, `axisStart`, `axisEnd` |\n| `Bar`     | `value`, `text`, `via`, `name` |\n| `Axis`    | `start`, `end` |\n| `Map2D`   | `xStart`, `xEnd`, `yStart`, `yEnd`, `steps`, `active`, `reveal` |\n| `Point`   | `x`, `y`, `name`, `tone` (`gunJyo` \\| `gray`) |\n\nBoth charts are written as the marks on them. What a mark is of is its content; `value`\nand `x`/`y` say where it goes, and the rest qualifies that one datum — `text` is the\nfigure to be read aloud, units included, and `via` is the annotation saying how it came\nabout, the second line a `Block`'s `sub` is.\n\n```html\n<Bars log axis-start=\"1 μs\" axis-end=\"10 ms\" :steps=\"[null, 'wasm']\">\n  <Bar :value=\"1200\" text=\"1.2 ms\" via=\"fork\">Process</Bar>\n  <Bar name=\"wasm\" :value=\"12\" text=\"12 μs\" via=\"linear memory\">WebAssembly</Bar>\n</Bars>\n```\n\nA bar has no length of its own — it is a share of the track, and no row can know its\nshare until every other row has said how long it is. That is what the chart is for: it\ncollects what its rows say and answers each of them, so a row added anywhere remeasures\nthe lot.\n\nThe two ends of an axis are `start` and `end`. Where the axis is one part of a chart\nrather than the whole of it, they say which axis: `axisStart` and `axisEnd` on `Bars`,\n`xStart` and `yStart` on `Map2D`. They stay props because they name the space a chart is\nread in rather than anything plotted in it.\n\nA `Map2D` is written as the marks on it. `x` and `y` are relative positions from 0 to 100\nand there are no ticks: the chart is an argument about where things sit in relation to\neach other, and printed coordinates would be taken for measurements.\n\n```html\n<Map2D x-start=\"Hard to use\" x-end=\"Easy to use\"\n       y-start=\"Weak isolation\" y-end=\"Strong isolation\"\n       :steps=\"[null, 'wasm']\">\n  <Point :x=\"88\" :y=\"4\">eval</Point>\n  <Point name=\"wasm\" :x=\"66\" :y=\"80\" tone=\"gunJyo\">WebAssembly</Point>\n</Map2D>\n```\n\nBoth charts take the same red frame as a block, and move it with `steps` the way a\n`Focus` does — each entry naming the row or mark under discussion, `null` for none. A\n`Bar` and a `Point` are named the way a `Block` is, so `steps` refers to one without\ndepending on what it says.\n\n`active` is the alternative for a chart driven from a `$clicks` expression, taking the\nrow's or mark's place and -1 for none.\n\n`Bars` accepts `log` for data spanning orders of magnitude; using it obliges you to\nlabel both ends of the axis, since lengths on a log scale otherwise invite a linear\nreading. Every row shares one set of columns through subgrid, so each text column ends up\nas wide as the widest entry in it — long labels need nothing said about them, and the\nannotation column takes no more than its own gap when no row carries a `via`.\n\n## Arrival\n\nA figure's pieces land in the order they are read rather than all at once, so the\nnarration has a moment on each before the next one arrives. A `Stage` deals its\npieces out along the row; `Bars` and `Map2D` deal out their rows and points. A `Group`\narrives whole — it exists so that several pieces read as one thing.\n\nNothing is asked of the deck: the arrival plays when the slide is reached, and the\nfirst click ends it — asking for the next step says you are past being shown the\nslide, so whatever is still on its way is simply there. Export and print show every\nfigure whole; nothing arrives on a page being captured on a timer.\n\nThe focus frame waits for the pieces it frames, since a frame around a space nothing\nhas arrived in reads as a mistake rather than as emphasis.\n\n`reveal` hands the pacing to the speaker instead, one row or point per click:\n\n```html\n<Bars reveal>\n  <Bar :value=\"1200\" text=\"1.2 ms\">Process</Bar>\n  <Bar :value=\"220\" text=\"220 μs\">Container</Bar>\n</Bars>\n```\n\nThe prop is on the charts alone because they own their pieces. A `Stage`'s pieces are\nwritten by the deck, so a deck paces those with `v-click` or `hidden` — see\n[Clicks](#clicks).\n\n### Motion\n\nHow long a change takes is a question about the change rather than about what is\nchanging, so there are three answers and every rule in the theme picks one. The\nlengths are [Material 3's duration tokens](https://m3.material.io/styles/motion/easing-and-duration/tokens-specs)\nrather than numbers chosen by eye; a slide is read from further away and with less\nurgency than an interface, so each takes the slower end of what M3 offers.\n\n| Token | | |\n|-------|--|--|\n| `--tf-motion-travel`  | 600ms · M3 `long4`  | something moving or resizing, which has ground to cover — the focus frame crossing a diagram, the red frame stepping down a chart |\n| `--tf-motion-settle`  | 500ms · M3 `long2`  | something arriving or leaving in place, which has none. Slidev's slide transition follows it |\n| `--tf-motion-touch`   | 200ms · M3 `short4` | direct feedback to the pointer, where anything slower reads as lag |\n| `--tf-motion-delay`   | 300ms · M3 `medium2` | how long a figure waits before arriving, so it does not run while the page is still fading in |\n| `--tf-motion-stagger` | 100ms · M3 `short2` | the wait between one arriving piece and the next |\n| `--tf-motion-rise`    | 20 | how far an arriving piece travels — set it to 0 for a plain fade |\n\nThere are two curves, because a curve describes how ground is covered and not every\nchange covers any:\n\n| Token | | |\n|-------|--|--|\n| `--tf-motion-ease-move` | M3 `emphasized.decelerate` | position, size, the rise a piece makes — off the mark quickly and then settling, so it reads as coming to rest where it belongs |\n| `--tf-motion-ease-fade` | `ease-in-out` | opacity and colour, which have no ground to cover. The move curve spends a fade in a twentieth of the time it was given, so the duration stops meaning anything |\n\nThey reach UnoCSS too, so motion a deck adds itself keeps time with the theme's:\n`duration-travel`, `duration-settle`, `duration-touch`, `ease-move`, `ease-fade`.\n\n## Clicks\n\nSlidev works out how long a slide is from what registers with it — `v-click`,\n`v-clicks`, `v-switch`, `v-click-gap` — while reading `$clicks` in an expression\nregisters nothing. Slidev's own `v-motion` reads clicks the same way, so this is the\ndivision of labour rather than an oversight in it.\n\n`steps` puts a component on the declaring side: giving one to a `Focus`, `Bars` or\n`Map2D` is enough on its own, and a page whose only content is that figure will walk\nthrough every entry before moving on.\n\nAnything driven from a `$clicks` expression — `of`, `active`, `hidden`, a `Stroke`'s\n`label` — only reads, so a page built that way has to say how long it is. Often a\n`v-switch` in the narration already covers it; otherwise the frontmatter says so:\n\n```yaml\n---\nclicks: 3\n---\n```\n\nThat count *overrides* every registration on the page rather than adding to it, so a\nslide already carrying `steps` should leave it out — declaring both cuts the slide to\nwhatever the frontmatter says.\n\n## Contributing\n\n- `pnpm install`\n- `pnpm dev` to preview `example.md`, which exercises every layout and component\n- `pnpm test` for the click and arrival protocols, `pnpm test:watch` while working on them\n- `pnpm test:deck` to walk `example.md` through Slidev in a real browser\n- `pnpm typecheck` for the theme's own files\n- `pnpm lint`, or `pnpm lint:fix` to have the style applied for you\n- `pnpm export` to generate the preview PDF\n- `pnpm screenshot` to generate the preview PNG\n\nWhat a test can answer here stops short of what a slide looks like. The unit suite covers\nwhat a component decides — the length it declares, whether it thinks it is arriving, where\nit puts its frame — and the deck suite covers what Slidev makes of that, by walking\n`example.md` in a browser and asking how long each page turned out to be. How a rule\ncascades and how long a transition takes are still read off a running deck.\n\n`package.json` lists what ships. A new file at the top level that Slidev is meant to load\nhas to be added there, or it will be missing from the published package while working\nperfectly in this repository.\n","readmeFilename":"README.md"}