From a0538f3432448eb57a74ef84021d9c632cad5584 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Sat, 11 May 2024 21:37:27 +0200 Subject: [PATCH 1/7] wip --- docs/gen_mds.jl | 1 + docs/make.jl | 5 +- docs/theme_light_dark.jl | 2 +- package-lock.json | 1827 +++++++++++--------------------------- package.json | 6 +- 5 files changed, 533 insertions(+), 1308 deletions(-) diff --git a/docs/gen_mds.jl b/docs/gen_mds.jl index c3ab1d7a..eff185a9 100644 --- a/docs/gen_mds.jl +++ b/docs/gen_mds.jl @@ -19,6 +19,7 @@ function get_files(folders) "gapminder.jl", "gott_azimuthal.jl", "density_ridges.jl", + "rasters.jl", "penguins.jl", "penguins3d.jl", "penguinsAoG.jl", diff --git a/docs/make.jl b/docs/make.jl index ef823f04..259f499c 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,4 +1,4 @@ -using DocumenterVitepress # ] add https://github.com/LuxDL/DocumenterVitepress.jl.git +using DocumenterVitepress using Documenter include("theme_light_dark.jl") set_theme!(merge(theme_latexfonts(), theme_light_dark())) @@ -8,7 +8,8 @@ set_theme!(merge(theme_latexfonts(), theme_light_dark())) makedocs(; sitename="BeautifulMakie", authors="Lazaro Alonso", clean=true, checkdocs=:all, - format=DocumenterVitepress.MarkdownVitepress(), + format=DocumenterVitepress.MarkdownVitepress(; + repo = "github.com/MakieOrg/BeautifulMakie",), draft=false, source="src", build=joinpath(@__DIR__, "docs_site/") ) \ No newline at end of file diff --git a/docs/theme_light_dark.jl b/docs/theme_light_dark.jl index 0905d206..2fa83240 100644 --- a/docs/theme_light_dark.jl +++ b/docs/theme_light_dark.jl @@ -68,7 +68,7 @@ function theme_light_dark() yminortickcolor = :grey45, ), Legend=(framecolor=(:black, 0.35), - bgcolor=(:white, 0.1)), + backgroundcolor=(:white, 0.1)), Axis3 = ( zlabelrotation = 0π, xlabeloffset = 50, diff --git a/package-lock.json b/package-lock.json index 7c03f204..05ff0827 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,17 +4,17 @@ "requires": true, "packages": { "": { + "dependencies": { + "vitepress": "^1.1.4" + }, "devDependencies": { - "vitepress-plugin-tabs": "^0.5.0", - "vitest": "^1.1.3" + "vitepress-plugin-tabs": "^0.5.0" } }, "node_modules/@algolia/autocomplete-core": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", - "dev": true, - "peer": true, "dependencies": { "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", "@algolia/autocomplete-shared": "1.9.3" @@ -24,8 +24,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", - "dev": true, - "peer": true, "dependencies": { "@algolia/autocomplete-shared": "1.9.3" }, @@ -37,8 +35,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", - "dev": true, - "peer": true, "dependencies": { "@algolia/autocomplete-shared": "1.9.3" }, @@ -51,162 +47,148 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", - "dev": true, - "peer": true, "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.0.tgz", - "integrity": "sha512-uZ1uZMLDZb4qODLfTSNHxSi4fH9RdrQf7DXEzW01dS8XK7QFtFh29N5NGKa9S+Yudf1vUMIF+/RiL4i/J0pWlQ==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", + "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", "dependencies": { - "@algolia/cache-common": "4.22.0" + "@algolia/cache-common": "4.23.3" } }, "node_modules/@algolia/cache-common": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.0.tgz", - "integrity": "sha512-TPwUMlIGPN16eW67qamNQUmxNiGHg/WBqWcrOoCddhqNTqGDPVqmgfaM85LPbt24t3r1z0zEz/tdsmuq3Q6oaA==", - "dev": true, - "peer": true + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", + "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==" }, "node_modules/@algolia/cache-in-memory": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.0.tgz", - "integrity": "sha512-kf4Cio9NpPjzp1+uXQgL4jsMDeck7MP89BYThSvXSjf2A6qV/0KeqQf90TL2ECS02ovLOBXkk98P7qVarM+zGA==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", + "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", "dependencies": { - "@algolia/cache-common": "4.22.0" + "@algolia/cache-common": "4.23.3" } }, "node_modules/@algolia/client-account": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.0.tgz", - "integrity": "sha512-Bjb5UXpWmJT+yGWiqAJL0prkENyEZTBzdC+N1vBuHjwIJcjLMjPB6j1hNBRbT12Lmwi55uzqeMIKS69w+0aPzA==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", + "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", "dependencies": { - "@algolia/client-common": "4.22.0", - "@algolia/client-search": "4.22.0", - "@algolia/transporter": "4.22.0" + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/transporter": "4.23.3" } }, "node_modules/@algolia/client-analytics": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.0.tgz", - "integrity": "sha512-os2K+kHUcwwRa4ArFl5p/3YbF9lN3TLOPkbXXXxOvDpqFh62n9IRZuzfxpHxMPKAQS3Et1s0BkKavnNP02E9Hg==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", + "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", "dependencies": { - "@algolia/client-common": "4.22.0", - "@algolia/client-search": "4.22.0", - "@algolia/requester-common": "4.22.0", - "@algolia/transporter": "4.22.0" + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" } }, "node_modules/@algolia/client-common": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.0.tgz", - "integrity": "sha512-BlbkF4qXVWuwTmYxVWvqtatCR3lzXwxx628p1wj1Q7QP2+LsTmGt1DiUYRuy9jG7iMsnlExby6kRMOOlbhv2Ag==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", + "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", "dependencies": { - "@algolia/requester-common": "4.22.0", - "@algolia/transporter": "4.22.0" + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" } }, "node_modules/@algolia/client-personalization": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.0.tgz", - "integrity": "sha512-pEOftCxeBdG5pL97WngOBi9w5Vxr5KCV2j2D+xMVZH8MuU/JX7CglDSDDb0ffQWYqcUN+40Ry+xtXEYaGXTGow==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", + "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", "dependencies": { - "@algolia/client-common": "4.22.0", - "@algolia/requester-common": "4.22.0", - "@algolia/transporter": "4.22.0" + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" } }, "node_modules/@algolia/client-search": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.0.tgz", - "integrity": "sha512-bn4qQiIdRPBGCwsNuuqB8rdHhGKKWIij9OqidM1UkQxnSG8yzxHdb7CujM30pvp5EnV7jTqDZRbxacbjYVW20Q==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", + "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", "dependencies": { - "@algolia/client-common": "4.22.0", - "@algolia/requester-common": "4.22.0", - "@algolia/transporter": "4.22.0" + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" } }, "node_modules/@algolia/logger-common": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.0.tgz", - "integrity": "sha512-HMUQTID0ucxNCXs5d1eBJ5q/HuKg8rFVE/vOiLaM4Abfeq1YnTtGV3+rFEhOPWhRQxNDd+YHa4q864IMc0zHpQ==", - "dev": true, - "peer": true + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", + "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==" }, "node_modules/@algolia/logger-console": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.0.tgz", - "integrity": "sha512-7JKb6hgcY64H7CRm3u6DRAiiEVXMvCJV5gRE672QFOUgDxo4aiDpfU61g6Uzy8NKjlEzHMmgG4e2fklELmPXhQ==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", + "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", + "dependencies": { + "@algolia/logger-common": "4.23.3" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", + "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", "dependencies": { - "@algolia/logger-common": "4.22.0" + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.0.tgz", - "integrity": "sha512-BHfv1h7P9/SyvcDJDaRuIwDu2yrDLlXlYmjvaLZTtPw6Ok/ZVhBR55JqW832XN/Fsl6k3LjdkYHHR7xnsa5Wvg==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", + "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", "dependencies": { - "@algolia/requester-common": "4.22.0" + "@algolia/requester-common": "4.23.3" } }, "node_modules/@algolia/requester-common": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.0.tgz", - "integrity": "sha512-Y9cEH/cKjIIZgzvI1aI0ARdtR/xRrOR13g5psCxkdhpgRN0Vcorx+zePhmAa4jdQNqexpxtkUdcKYugBzMZJgQ==", - "dev": true, - "peer": true + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", + "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==" }, "node_modules/@algolia/requester-node-http": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.0.tgz", - "integrity": "sha512-8xHoGpxVhz3u2MYIieHIB6MsnX+vfd5PS4REgglejJ6lPigftRhTdBCToe6zbwq4p0anZXjjPDvNWMlgK2+xYA==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", + "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", "dependencies": { - "@algolia/requester-common": "4.22.0" + "@algolia/requester-common": "4.23.3" } }, "node_modules/@algolia/transporter": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.0.tgz", - "integrity": "sha512-ieO1k8x2o77GNvOoC+vAkFKppydQSVfbjM3YrSjLmgywiBejPTvU1R1nEvG59JIIUvtSLrZsLGPkd6vL14zopA==", - "dev": true, - "peer": true, + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", + "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", "dependencies": { - "@algolia/cache-common": "4.22.0", - "@algolia/logger-common": "4.22.0", - "@algolia/requester-common": "4.22.0" + "@algolia/cache-common": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/requester-common": "4.23.3" } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "dev": true, - "peer": true, + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -215,33 +197,27 @@ } }, "node_modules/@docsearch/css": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", - "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==", - "dev": true, - "peer": true + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==" }, "node_modules/@docsearch/js": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.2.tgz", - "integrity": "sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==", - "dev": true, - "peer": true, + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.0.tgz", + "integrity": "sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==", "dependencies": { - "@docsearch/react": "3.5.2", + "@docsearch/react": "3.6.0", "preact": "^10.0.0" } }, "node_modules/@docsearch/react": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", - "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", - "dev": true, - "peer": true, + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", + "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", "dependencies": { "@algolia/autocomplete-core": "1.9.3", "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.5.2", + "@docsearch/css": "3.6.0", "algoliasearch": "^4.19.1" }, "peerDependencies": { @@ -266,13 +242,12 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "aix" @@ -282,13 +257,12 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -298,13 +272,12 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -314,13 +287,12 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "android" @@ -330,13 +302,12 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -346,13 +317,12 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -362,13 +332,12 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -378,13 +347,12 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -394,13 +362,12 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -410,13 +377,12 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -426,13 +392,12 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "linux" @@ -442,13 +407,12 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -458,13 +422,12 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", "cpu": [ "mips64el" ], - "dev": true, "optional": true, "os": [ "linux" @@ -474,13 +437,12 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -490,13 +452,12 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -506,13 +467,12 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -522,13 +482,12 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -538,13 +497,12 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "netbsd" @@ -554,13 +512,12 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "openbsd" @@ -570,13 +527,12 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "sunos" @@ -586,13 +542,12 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -602,13 +557,12 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -618,13 +572,12 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -633,243 +586,249 @@ "node": ">=12" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.4.tgz", - "integrity": "sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", + "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.4.tgz", - "integrity": "sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", + "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.4.tgz", - "integrity": "sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", + "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.4.tgz", - "integrity": "sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", + "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.4.tgz", - "integrity": "sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", + "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", + "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.4.tgz", - "integrity": "sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", + "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.4.tgz", - "integrity": "sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", + "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", "cpu": [ "arm64" ], - "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", + "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", + "cpu": [ + "ppc64" + ], "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.4.tgz", - "integrity": "sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", + "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", "cpu": [ "riscv64" ], - "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", + "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", + "cpu": [ + "s390x" + ], "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.4.tgz", - "integrity": "sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", + "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.4.tgz", - "integrity": "sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", + "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.4.tgz", - "integrity": "sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", + "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.4.tgz", - "integrity": "sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", + "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.4.tgz", - "integrity": "sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==", + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", + "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" ] }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "node_modules/@shikijs/core": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.5.1.tgz", + "integrity": "sha512-xjV63pRUBvxA1LsxOUhRKLPh0uUjwBLzAKLdEuYSLIylo71sYuwDcttqNP01Ib1TZlLfO840CXHPlgUUsYFjzg==" + }, + "node_modules/@shikijs/transformers": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.5.1.tgz", + "integrity": "sha512-vir+y0elkjh2CepLVbqeGX+ftuc6WpfWNCMV/EBIallSLzhBfDO9r/TORDVOzegbTg9JMEmtOFv6PT9cSZTcyA==", + "dependencies": { + "shiki": "1.5.1" + } }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/linkify-it": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", - "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", - "dev": true, - "peer": true + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==" }, "node_modules/@types/markdown-it": { - "version": "13.0.7", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.7.tgz", - "integrity": "sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==", - "dev": true, - "peer": true, + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==", "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" + "@types/linkify-it": "^5", + "@types/mdurl": "^2" } }, "node_modules/@types/mdurl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", - "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", - "dev": true, - "peer": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==" }, "node_modules/@types/web-bluetooth": { "version": "0.0.20", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", - "dev": true, - "peer": true + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" }, "node_modules/@vitejs/plugin-vue": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.2.tgz", - "integrity": "sha512-kEjJHrLb5ePBvjD0SPZwJlw1QTRcjjCA9sB5VyfonoXVBxTS7TMnqL6EkLt1Eu61RDeiuZ/WN9Hf6PxXhPI2uA==", - "dev": true, - "peer": true, + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz", + "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==", "engines": { "node": "^18.0.0 || >=20.0.0" }, @@ -878,227 +837,156 @@ "vue": "^3.2.25" } }, - "node_modules/@vitest/expect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.3.tgz", - "integrity": "sha512-MnJqsKc1Ko04lksF9XoRJza0bGGwTtqfbyrsYv5on4rcEkdo+QgUdITenBQBUltKzdxW7K3rWh+nXRULwsdaVg==", - "dev": true, - "dependencies": { - "@vitest/spy": "1.1.3", - "@vitest/utils": "1.1.3", - "chai": "^4.3.10" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.3.tgz", - "integrity": "sha512-Va2XbWMnhSdDEh/OFxyUltgQuuDRxnarK1hW5QNN4URpQrqq6jtt8cfww/pQQ4i0LjoYxh/3bYWvDFlR9tU73g==", - "dev": true, - "dependencies": { - "@vitest/utils": "1.1.3", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.3.tgz", - "integrity": "sha512-U0r8pRXsLAdxSVAyGNcqOU2H3Z4Y2dAAGGelL50O0QRMdi1WWeYHdrH/QWpN1e8juWfVKsb8B+pyJwTC+4Gy9w==", - "dev": true, - "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.3.tgz", - "integrity": "sha512-Ec0qWyGS5LhATFQtldvChPTAHv08yHIOZfiNcjwRQbFPHpkih0md9KAbs7TfeIfL7OFKoe7B/6ukBTqByubXkQ==", - "dev": true, - "dependencies": { - "tinyspy": "^2.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.3.tgz", - "integrity": "sha512-Dyt3UMcdElTll2H75vhxfpZu03uFpXRCHxWnzcrFjZxT1kTbq8ALUYIeBgGolo1gldVdI0YSlQRacsqxTwNqwg==", - "dev": true, - "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "node_modules/@vue/compiler-core": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.5.tgz", - "integrity": "sha512-Daka7P1z2AgKjzuueWXhwzIsKu0NkLB6vGbNVEV2iJ8GJTrzraZo/Sk4GWCMRtd/qVi3zwnk+Owbd/xSZbwHtQ==", - "dev": true, - "peer": true, + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.27.tgz", + "integrity": "sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==", "dependencies": { - "@babel/parser": "^7.23.6", - "@vue/shared": "3.4.5", + "@babel/parser": "^7.24.4", + "@vue/shared": "3.4.27", "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-core/node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "peer": true + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-dom": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.5.tgz", - "integrity": "sha512-J8YlxknJVd90SXFJ4HwGANSAXsx5I0lK30sO/zvYV7s5gXf7gZR7r/1BmZ2ju7RGH1lnc6bpBc6nL61yW+PsAQ==", - "dev": true, - "peer": true, + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz", + "integrity": "sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==", "dependencies": { - "@vue/compiler-core": "3.4.5", - "@vue/shared": "3.4.5" + "@vue/compiler-core": "3.4.27", + "@vue/shared": "3.4.27" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.5.tgz", - "integrity": "sha512-jauvkDuSSUbP0ebhfNqljhShA90YEfX/0wZ+w40oZF43IjGyWYjqYaJbvMJwGOd+9+vODW6eSvnk28f0SGV7OQ==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/parser": "^7.23.6", - "@vue/compiler-core": "3.4.5", - "@vue/compiler-dom": "3.4.5", - "@vue/compiler-ssr": "3.4.5", - "@vue/shared": "3.4.5", + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz", + "integrity": "sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==", + "dependencies": { + "@babel/parser": "^7.24.4", + "@vue/compiler-core": "3.4.27", + "@vue/compiler-dom": "3.4.27", + "@vue/compiler-ssr": "3.4.27", + "@vue/shared": "3.4.27", "estree-walker": "^2.0.2", - "magic-string": "^0.30.5", - "postcss": "^8.4.32", - "source-map-js": "^1.0.2" + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "peer": true + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.5.tgz", - "integrity": "sha512-DDdEcDzj2lWTMfUMMtEpLDhURai9LhM0zSZ219jCt7b2Vyl0/jy3keFgCPMitG0V1S1YG4Cmws3lWHWdxHQOpg==", - "dev": true, - "peer": true, + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz", + "integrity": "sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==", "dependencies": { - "@vue/compiler-dom": "3.4.5", - "@vue/shared": "3.4.5" + "@vue/compiler-dom": "3.4.27", + "@vue/shared": "3.4.27" } }, "node_modules/@vue/devtools-api": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", - "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==", - "dev": true, - "peer": true + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.1.3.tgz", + "integrity": "sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==", + "dependencies": { + "@vue/devtools-kit": "^7.1.3" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.1.3.tgz", + "integrity": "sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==", + "dependencies": { + "@vue/devtools-shared": "^7.1.3", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.1.3.tgz", + "integrity": "sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==", + "dependencies": { + "rfdc": "^1.3.1" + } }, "node_modules/@vue/reactivity": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.5.tgz", - "integrity": "sha512-BcWkKvjdvqJwb7BhhFkXPLDCecX4d4a6GATvCduJQDLv21PkPowAE5GKuIE5p6RC07/Lp9FMkkq4AYCTVF5KlQ==", - "dev": true, - "peer": true, + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.27.tgz", + "integrity": "sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==", "dependencies": { - "@vue/shared": "3.4.5" + "@vue/shared": "3.4.27" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.5.tgz", - "integrity": "sha512-wh9ELIOQKeWT9SaUPdLrsxRkZv14jp+SJm9aiQGWio+/MWNM3Lib0wE6CoKEqQ9+SCYyGjDBhTOTtO47kCgbkg==", - "dev": true, - "peer": true, + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.27.tgz", + "integrity": "sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==", "dependencies": { - "@vue/reactivity": "3.4.5", - "@vue/shared": "3.4.5" + "@vue/reactivity": "3.4.27", + "@vue/shared": "3.4.27" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.5.tgz", - "integrity": "sha512-n5ewvOjyG3IEpqGBahdPXODFSpVlSz3H4LF76Sx0XAqpIOqyJ5bIb2PrdYuH2ogBMAQPh+o5tnoH4nJpBr8U0Q==", - "dev": true, - "peer": true, + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.27.tgz", + "integrity": "sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==", "dependencies": { - "@vue/runtime-core": "3.4.5", - "@vue/shared": "3.4.5", + "@vue/runtime-core": "3.4.27", + "@vue/shared": "3.4.27", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.5.tgz", - "integrity": "sha512-jOFc/VE87yvifQpNju12VcqimH8pBLxdcT+t3xMeiED1K6DfH9SORyhFEoZlW5TG2Vwfn3Ul5KE+1aC99xnSBg==", - "dev": true, - "peer": true, + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.27.tgz", + "integrity": "sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==", "dependencies": { - "@vue/compiler-ssr": "3.4.5", - "@vue/shared": "3.4.5" + "@vue/compiler-ssr": "3.4.27", + "@vue/shared": "3.4.27" }, "peerDependencies": { - "vue": "3.4.5" + "vue": "3.4.27" } }, "node_modules/@vue/shared": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.5.tgz", - "integrity": "sha512-6XptuzlMvN4l4cDnDw36pdGEV+9njYkQ1ZE0Q6iZLwrKefKaOJyiFmcP3/KBDHbt72cJZGtllAc1GaHe6XGAyg==", - "dev": true, - "peer": true + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.27.tgz", + "integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==" }, "node_modules/@vueuse/core": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.7.1.tgz", - "integrity": "sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==", - "dev": true, - "peer": true, + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.9.0.tgz", + "integrity": "sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==", "dependencies": { "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.7.1", - "@vueuse/shared": "10.7.1", - "vue-demi": ">=0.14.6" + "@vueuse/metadata": "10.9.0", + "@vueuse/shared": "10.9.0", + "vue-demi": ">=0.14.7" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", - "dev": true, + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", "hasInstallScript": true, - "peer": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -1120,15 +1008,13 @@ } }, "node_modules/@vueuse/integrations": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.7.1.tgz", - "integrity": "sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==", - "dev": true, - "peer": true, + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.9.0.tgz", + "integrity": "sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==", "dependencies": { - "@vueuse/core": "10.7.1", - "@vueuse/shared": "10.7.1", - "vue-demi": ">=0.14.6" + "@vueuse/core": "10.9.0", + "@vueuse/shared": "10.9.0", + "vue-demi": ">=0.14.7" }, "funding": { "url": "https://github.com/sponsors/antfu" @@ -1187,12 +1073,10 @@ } }, "node_modules/@vueuse/integrations/node_modules/vue-demi": { - "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", - "dev": true, + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", "hasInstallScript": true, - "peer": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -1214,35 +1098,29 @@ } }, "node_modules/@vueuse/metadata": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.1.tgz", - "integrity": "sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==", - "dev": true, - "peer": true, + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.9.0.tgz", + "integrity": "sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.1.tgz", - "integrity": "sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==", - "dev": true, - "peer": true, + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.9.0.tgz", + "integrity": "sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==", "dependencies": { - "vue-demi": ">=0.14.6" + "vue-demi": ">=0.14.7" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", - "dev": true, + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", "hasInstallScript": true, - "peer": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -1263,175 +1141,37 @@ } } }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", - "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/algoliasearch": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.0.tgz", - "integrity": "sha512-gfceltjkwh7PxXwtkS8KVvdfK+TSNQAWUeNSxf4dA29qW5tf2EGwa8jkJujlT9jLm17cixMVoGNc+GJFO1Mxhg==", - "dev": true, - "peer": true, - "dependencies": { - "@algolia/cache-browser-local-storage": "4.22.0", - "@algolia/cache-common": "4.22.0", - "@algolia/cache-in-memory": "4.22.0", - "@algolia/client-account": "4.22.0", - "@algolia/client-analytics": "4.22.0", - "@algolia/client-common": "4.22.0", - "@algolia/client-personalization": "4.22.0", - "@algolia/client-search": "4.22.0", - "@algolia/logger-common": "4.22.0", - "@algolia/logger-console": "4.22.0", - "@algolia/requester-browser-xhr": "4.22.0", - "@algolia/requester-common": "4.22.0", - "@algolia/requester-node-http": "4.22.0", - "@algolia/transporter": "4.22.0" - } - }, - "node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/chai": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.0.tgz", - "integrity": "sha512-x9cHNq1uvkCdU+5xTkNh5WtgD4e4yDFCsp9jVc7N7qVeKeftv3gO/ZrviX5d+3ZfxdYnZXZYujjRInu1RogU6A==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", + "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-account": "4.23.3", + "@algolia/client-analytics": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-personalization": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/recommend": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" } }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, - "peer": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "peer": true, "engines": { "node": ">=0.12" }, @@ -1440,10 +1180,9 @@ } }, "node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -1452,69 +1191,35 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } }, "node_modules/focus-trap": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", - "dev": true, - "peer": true, "dependencies": { "tabbable": "^6.2.0" } @@ -1523,7 +1228,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -1533,152 +1237,38 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", - "dev": true, + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" } }, "node_modules/mark.js": { "version": "8.11.1", "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", - "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", - "dev": true, - "peer": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" }, "node_modules/minisearch": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", - "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==", - "dev": true, - "peer": true - }, - "node_modules/mlly": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", - "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", - "dev": true, - "dependencies": { - "acorn": "^8.10.0", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "ufo": "^1.3.0" - } + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==" }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, "funding": [ { "type": "github", @@ -1692,109 +1282,20 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", - "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", - "dev": true - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dev": true, - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", - "dev": true, + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -1812,48 +1313,30 @@ "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/preact": { - "version": "10.19.3", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.3.tgz", - "integrity": "sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==", - "dev": true, - "peer": true, + "version": "10.21.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.21.0.tgz", + "integrity": "sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" }, "node_modules/rollup": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.4.tgz", - "integrity": "sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==", - "dev": true, + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", + "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==", "dependencies": { "@types/estree": "1.0.5" }, @@ -1865,19 +1348,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.9.4", - "@rollup/rollup-android-arm64": "4.9.4", - "@rollup/rollup-darwin-arm64": "4.9.4", - "@rollup/rollup-darwin-x64": "4.9.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.9.4", - "@rollup/rollup-linux-arm64-gnu": "4.9.4", - "@rollup/rollup-linux-arm64-musl": "4.9.4", - "@rollup/rollup-linux-riscv64-gnu": "4.9.4", - "@rollup/rollup-linux-x64-gnu": "4.9.4", - "@rollup/rollup-linux-x64-musl": "4.9.4", - "@rollup/rollup-win32-arm64-msvc": "4.9.4", - "@rollup/rollup-win32-ia32-msvc": "4.9.4", - "@rollup/rollup-win32-x64-msvc": "4.9.4", + "@rollup/rollup-android-arm-eabi": "4.17.2", + "@rollup/rollup-android-arm64": "4.17.2", + "@rollup/rollup-darwin-arm64": "4.17.2", + "@rollup/rollup-darwin-x64": "4.17.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.17.2", + "@rollup/rollup-linux-arm-musleabihf": "4.17.2", + "@rollup/rollup-linux-arm64-gnu": "4.17.2", + "@rollup/rollup-linux-arm64-musl": "4.17.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2", + "@rollup/rollup-linux-riscv64-gnu": "4.17.2", + "@rollup/rollup-linux-s390x-gnu": "4.17.2", + "@rollup/rollup-linux-x64-gnu": "4.17.2", + "@rollup/rollup-linux-x64-musl": "4.17.2", + "@rollup/rollup-win32-arm64-msvc": "4.17.2", + "@rollup/rollup-win32-ia32-msvc": "4.17.2", + "@rollup/rollup-win32-x64-msvc": "4.17.2", "fsevents": "~2.3.2" } }, @@ -1885,175 +1371,45 @@ "version": "2.13.0", "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz", "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==", - "dev": true, - "peer": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shikiji": { - "version": "0.9.17", - "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.9.17.tgz", - "integrity": "sha512-0z/1NfkhBkm3ijrfFeHg3G9yDNuHhXdAGbQm7tRxj4WQ5z2y0XDbnagFyKyuV2ebCTS1Mwy1I3n0Fzcc/4xdmw==", - "dev": true, - "peer": true, - "dependencies": { - "shikiji-core": "0.9.17" - } - }, - "node_modules/shikiji-core": { - "version": "0.9.17", - "resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.17.tgz", - "integrity": "sha512-r1FWTXk6SO2aYqfWgcsJ11MuVQ1ymPSdXzJjK7q8EXuyqu8yc2N5qrQy5+BL6gTVOaF4yLjbxFjF+KTRM1Sp8Q==", - "dev": true, "peer": true }, - "node_modules/shikiji-transformers": { - "version": "0.9.17", - "resolved": "https://registry.npmjs.org/shikiji-transformers/-/shikiji-transformers-0.9.17.tgz", - "integrity": "sha512-2CCG9qSLS6Bn/jbeUTEuvC6YSuP8gm8VyX5VjmCvDKyCPGhlLJbH1k/kg9wfRt7cJqpYjhdMDgT5rkdYrOZnsA==", - "dev": true, - "peer": true, + "node_modules/shiki": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.5.1.tgz", + "integrity": "sha512-vx4Ds3M3B9ZEmLeSXqBAB85osBWV8ErZfP69kuFQZozPgHc33m7spLTCUkcjwEjFm3gk3F9IdXMv8kX+v9xDHA==", "dependencies": { - "shikiji": "0.9.17" - } - }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@shikijs/core": "1.5.1" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true - }, - "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "dev": true - }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", - "dev": true, - "dependencies": { - "acorn": "^8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "node": ">=0.10.0" } }, "node_modules/tabbable": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", - "dev": true, - "peer": true - }, - "node_modules/tinybench": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", - "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", - "dev": true - }, - "node_modules/tinypool": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", - "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", - "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", - "dev": true + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" }, "node_modules/vite": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", - "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", - "dev": true, + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz", + "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==", "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.32", - "rollup": "^4.2.0" + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" }, "bin": { "vite": "bin/vite.js" @@ -2100,57 +1456,33 @@ } } }, - "node_modules/vite-node": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.3.tgz", - "integrity": "sha512-BLSO72YAkIUuNrOx+8uznYICJfTEbvBAmWClY3hpath5+h1mbPS5OMn42lrTxXuyCazVyZoDkSRnju78GiVCqA==", - "dev": true, - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "node_modules/vitepress": { - "version": "1.0.0-rc.35", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.35.tgz", - "integrity": "sha512-+2VnFwtYIiKWWAnMjWg7ik0PfsUdrNoZIZKeu5dbJtrkzKO/mTvlA3owiT5VBKJsZAgI17B5UV37aYfUvGrN6g==", - "dev": true, - "peer": true, - "dependencies": { - "@docsearch/css": "^3.5.2", - "@docsearch/js": "^3.5.2", - "@types/markdown-it": "^13.0.7", - "@vitejs/plugin-vue": "^5.0.2", - "@vue/devtools-api": "^6.5.1", - "@vueuse/core": "^10.7.1", - "@vueuse/integrations": "^10.7.1", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.1.4.tgz", + "integrity": "sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==", + "dependencies": { + "@docsearch/css": "^3.6.0", + "@docsearch/js": "^3.6.0", + "@shikijs/core": "^1.3.0", + "@shikijs/transformers": "^1.3.0", + "@types/markdown-it": "^14.0.1", + "@vitejs/plugin-vue": "^5.0.4", + "@vue/devtools-api": "^7.0.27", + "@vueuse/core": "^10.9.0", + "@vueuse/integrations": "^10.9.0", "focus-trap": "^7.5.4", "mark.js": "8.11.1", "minisearch": "^6.3.0", - "shikiji": "^0.9.17", - "shikiji-core": "^0.9.17", - "shikiji-transformers": "^0.9.17", - "vite": "^5.0.10", - "vue": "^3.4.4" + "shiki": "^1.3.0", + "vite": "^5.2.10", + "vue": "^3.4.25" }, "bin": { "vitepress": "bin/vitepress.js" }, "peerDependencies": { - "markdown-it-mathjax3": "^4.3.2", - "postcss": "^8.4.32" + "markdown-it-mathjax3": "^4", + "postcss": "^8" }, "peerDependenciesMeta": { "markdown-it-mathjax3": { @@ -2171,84 +1503,16 @@ "vue": "^3.3.8" } }, - "node_modules/vitest": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.3.tgz", - "integrity": "sha512-2l8om1NOkiA90/Y207PsEvJLYygddsOyr81wLQ20Ra8IlLKbyQncWsGZjnbkyG2KwwuTXLQjEPOJuxGMG8qJBQ==", - "dev": true, - "dependencies": { - "@vitest/expect": "1.1.3", - "@vitest/runner": "1.1.3", - "@vitest/snapshot": "1.1.3", - "@vitest/spy": "1.1.3", - "@vitest/utils": "1.1.3", - "acorn-walk": "^8.3.1", - "cac": "^6.7.14", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^1.3.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.1", - "vite": "^5.0.0", - "vite-node": "1.1.3", - "why-is-node-running": "^2.2.2" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "^1.0.0", - "@vitest/ui": "^1.0.0", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, "node_modules/vue": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.5.tgz", - "integrity": "sha512-VH6nHFhLPjgu2oh5vEBXoNZxsGHuZNr3qf4PHClwJWw6IDqw6B3x+4J+ABdoZ0aJuT8Zi0zf3GpGlLQCrGWHrw==", - "dev": true, - "peer": true, + "version": "3.4.27", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.27.tgz", + "integrity": "sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==", "dependencies": { - "@vue/compiler-dom": "3.4.5", - "@vue/compiler-sfc": "3.4.5", - "@vue/runtime-dom": "3.4.5", - "@vue/server-renderer": "3.4.5", - "@vue/shared": "3.4.5" + "@vue/compiler-dom": "3.4.27", + "@vue/compiler-sfc": "3.4.27", + "@vue/runtime-dom": "3.4.27", + "@vue/server-renderer": "3.4.27", + "@vue/shared": "3.4.27" }, "peerDependencies": { "typescript": "*" @@ -2258,49 +1522,6 @@ "optional": true } } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", - "dev": true, - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/package.json b/package.json index 3e2071c7..dda17feb 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,9 @@ "docs:preview": "vitepress preview docs/docs_site" }, "devDependencies": { - "vitepress-plugin-tabs": "^0.5.0", - "vitest": "^1.1.3" + "vitepress-plugin-tabs": "^0.5.0" + }, + "dependencies": { + "vitepress": "^1.1.4" } } From afd5d624215678a05015e4f96ef8ef9ae5dd909a Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Sat, 11 May 2024 22:17:35 +0200 Subject: [PATCH 2/7] all is mostly broken --- docs/Project.toml | 4 +--- docs/gen_mds.jl | 2 +- docs/theme_light_dark.jl | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/Project.toml b/docs/Project.toml index f9b0f5d5..64eef261 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,5 +1,4 @@ [deps] -AlgebraOfGraphics = "cbdf2221-f076-402e-a563-3d30da359d67" ArchGDAL = "c9ce4bd3-c3d5-55b8-8973-c0e20141b8c3" AssociatedLegendrePolynomials = "2119f1ac-fb78-50f5-8cc0-dda848ebdb19" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" @@ -15,9 +14,9 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" DocumenterVitepress = "4710194d-e776-4893-9690-8d956a29c365" FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" +GDAL = "add2ef01-049f-52c4-9ee2-e494f65e021a" GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a" GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" -GeoMakie = "db073c08-6b98-4ee5-b6a4-5efafb3259c6" GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" GitHub = "bc5e4493-9b4d-5f90-b8aa-2b2bcaad7a26" Gumbo = "708ec375-b3d6-5a57-a7ce-8257bf98657a" @@ -37,7 +36,6 @@ Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" RasterDataSources = "3cb90ccd-e1b6-4867-9617-4276c8b2ca36" -Rasters = "a3a2b9e3-a471-40c9-b274-f788e487c689" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb" diff --git a/docs/gen_mds.jl b/docs/gen_mds.jl index eff185a9..162cde6c 100644 --- a/docs/gen_mds.jl +++ b/docs/gen_mds.jl @@ -6,7 +6,7 @@ OUTPUT = joinpath(@__DIR__, "src", "examples") folders = readdir(joinpath(@__DIR__, "..", "examples")) setdiff!(folders, [".DS_Store"]) -setdiff!(folders, ["rpr"]) +setdiff!(folders, ["rpr", "aog", "geo"]) function get_files(folders) srcsfiles = [] diff --git a/docs/theme_light_dark.jl b/docs/theme_light_dark.jl index 2fa83240..5ba071bb 100644 --- a/docs/theme_light_dark.jl +++ b/docs/theme_light_dark.jl @@ -37,7 +37,7 @@ function theme_light_dark() Hist = (cycle = Cycle([:color, :strokecolor], covary=true),), Stairs = (cycle=cycle1,), Stem= (cycle=cycle5,), - Text = (cycle = [:color],), + # Text = (cycle = [:color],), Violin = (cycle = [:color, :strokecolor, :mediancolor],), strokewidth=0.5, colormap= Reverse(:Hokusai3), From a67e37432d1ac92d3d5a9dc85bdecb3881e4a6d7 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Sun, 12 May 2024 00:38:10 +0200 Subject: [PATCH 3/7] fixes --- examples/2d/histogram/hist.jl | 8 +++++--- examples/2d/text/your_name.jl | 2 +- examples/2d/violins/single.jl | 2 +- examples/3d/contour3d/contour_v.jl | 5 +++-- examples/3d/lines3d/lines_wire_contour_3d.jl | 6 +++--- examples/3d/lines3d/wireframe_torus.jl | 2 +- examples/3d/meshes/cpunkCube.jl | 8 ++++---- examples/3d/mscatters/gauss2d.jl | 2 +- examples/3d/surfaces/branching.jl | 2 +- examples/3d/surfaces/gabriels_horn.jl | 3 ++- examples/3d/surfaces/onecolor.jl | 2 +- examples/3d/surfaces/revolution_surface.jl | 3 ++- examples/3d/surfaces/revolution_surface_s.jl | 3 ++- examples/3d/surfaces/tesseralSphericalH.jl | 2 +- examples/3d/surfaces/torus.jl | 2 +- examples/dashboards/colorschemes.jl | 3 ++- examples/dashboards/matcap.jl | 18 +++++++++--------- examples/datavis/astronauts.jl | 10 +++++----- examples/datavis/earthquakes.jl | 3 +-- examples/datavis/strange_attractors.jl | 2 +- 20 files changed, 47 insertions(+), 41 deletions(-) diff --git a/examples/2d/histogram/hist.jl b/examples/2d/histogram/hist.jl index 85691e96..94019ff1 100644 --- a/examples/2d/histogram/hist.jl +++ b/examples/2d/histogram/hist.jl @@ -11,15 +11,17 @@ cmap = resample_cmap(:linear_wcmr_100_45_c42_n256, 256; fig = Figure(; size = (600,400)) ax = Axis(fig[1,1]) -hist!(rand(Normal(2.6,0.4), 1000), normalization = :pdf, offset = -1, - color = :values, colormap = :plasma, direction = :x, fillto = -0.5) +hist!(rand(Normal(2.6,0.4), 1000), normalization = :pdf, offset = -1, + #colormap=:plasma, + color = :values, direction = :x, fillto = -0.5) hist!(rand(Normal(2.6,0.4), 1000), normalization = :pdf, offset = 1, color = :grey10, direction = :x, scale_to = -0.5) hist!(rand(Normal(0.2,0.2), 1000), normalization = :pdf, offset = 4, strokewidth = 1, color = :transparent, strokecolor = :black, direction = :y, scale_to = -1) hist!(rand(Normal(0.2,0.2), 1000), normalization = :pdf, color = :values, - colormap = cmap, strokewidth = 1, strokecolor = :black, + #colormap = cmap, + strokewidth = 1, strokecolor = :black, bar_labels = :values, label_color = :black, label_size = 12, label_formatter=x-> round(x, digits=1)) hidedecorations!(ax; grid = false) diff --git a/examples/2d/text/your_name.jl b/examples/2d/text/your_name.jl index 5e131acb..f3fdffb5 100644 --- a/examples/2d/text/your_name.jl +++ b/examples/2d/text/your_name.jl @@ -13,7 +13,7 @@ fig = Figure(figure_padding= 0, size = (320, 48), ax = Axis(fig[1,1], backgroundcolor=:transparent) text!(ax, [0], [0], text= rich(rich("Your", font="Bold"), " Name", font =:regular), - align = (:center, :center), color = :white, padding=0) + align = (:center, :center), color = :white) hidedecorations!(ax) hidespines!(ax) fig diff --git a/examples/2d/violins/single.jl b/examples/2d/violins/single.jl index 9e184530..c09532c4 100644 --- a/examples/2d/violins/single.jl +++ b/examples/2d/violins/single.jl @@ -16,6 +16,6 @@ violin!(ax, a, data; width = 0.35, color = (:orangered, 0.45), show_median = true, mediancolor = :navy, strokecolor = :black, strokewidth = 1, label = "vertical") limits!(ax, 0, 2, -5, 5) -axislegend(ax, position = :rt) +# axislegend(ax, position = :rt) fig save("single.svg", fig); # hide \ No newline at end of file diff --git a/examples/3d/contour3d/contour_v.jl b/examples/3d/contour3d/contour_v.jl index 409659ea..cdde67a0 100644 --- a/examples/3d/contour3d/contour_v.jl +++ b/examples/3d/contour3d/contour_v.jl @@ -6,9 +6,10 @@ using GLMakie GLMakie.activate!() GLMakie.closeall() # close any open screen -x = y = z = 1:10 +x = y = z = 1..10 # start, stop, intervl +x_r = y_r = z_r = 1:10 f(x, y, z) = x^2 + y^2 + z^2 -vol = [f(ix, iy, iz) for ix in x, iy in y, iz in z] +vol = [f(ix, iy, iz) for ix in x_r, iy in y_r, iz in z_r] ## now the figure fig = Figure(; size = (800,800)) ax = Axis3(fig[1,1]; perspectiveness = 0.5, azimuth = 2.19, diff --git a/examples/3d/lines3d/lines_wire_contour_3d.jl b/examples/3d/lines3d/lines_wire_contour_3d.jl index 2a4d7b56..cf2b82bf 100644 --- a/examples/3d/lines3d/lines_wire_contour_3d.jl +++ b/examples/3d/lines3d/lines_wire_contour_3d.jl @@ -22,10 +22,10 @@ with_theme(theme_dark()) do contour!(axs[1], x, y, z; levels = 20, transformation = (:xy, minimum(z)), transparency = true) lines!(axs[2], cat(x, NaN, dims=1), y, vcat(z, fill(NaN,30)'), - color = maximum(z, dims=1)[1,:], transparency = false) + color = repeat(maximum(z, dims=1)[1,:], inner=31), + transparency = false) lines!(axs[2], cat(x, NaN, dims=1), y, - vcat(z, fill(NaN,30)')*0 .+ minimum(z); color = maximum(z, dims=1)[1,:], - transparency = true) + vcat(z, fill(NaN,30)')*0 .+ minimum(z); color = repeat(maximum(z, dims=1)[1,:], inner=31), transparency = true) wireframe!(axs[3], x, y, z; color = :grey90, transparency = true) wireframe!(axs[3], x, y, z*0 .+ minimum(z); color = :grey90, transparency = true) diff --git a/examples/3d/lines3d/wireframe_torus.jl b/examples/3d/lines3d/wireframe_torus.jl index e5b6f758..0087e504 100644 --- a/examples/3d/lines3d/wireframe_torus.jl +++ b/examples/3d/lines3d/wireframe_torus.jl @@ -16,7 +16,7 @@ y2 = [.5 * sin(v) for u in U, v in V] z2 = [sin(u) + .5 * sin(u) * cos(v) for u in U, v in V]; ## and now we plot the figure -fig = Figure(size =(600,600)) +fig = Figure(; size =(600,600)) ax = LScene(fig[1,1], show_axis = true) wireframe!(ax, x1, y1, z1; transparency = true) ## some control over axis names. diff --git a/examples/3d/meshes/cpunkCube.jl b/examples/3d/meshes/cpunkCube.jl index 2bfd203e..5f9e1604 100644 --- a/examples/3d/meshes/cpunkCube.jl +++ b/examples/3d/meshes/cpunkCube.jl @@ -35,7 +35,7 @@ poster = poster[1+80:1080+80,end:-1:1] imgs = [rotr90(lucydavid), lucy, rotl90(david), rotr90(faraday), rotr90(rotr90(poster)), rotr90(rotr90(luda))] -fig = Figure(figure_padding=0, size =(600*4,400*4)) +fig = Figure(figure_padding=0, size =(600,400)) axs = [Axis(fig[i,j], aspect=1) for i in 1:2 for j in 1:3] [heatmap!(axs[i], imgs[i]) for i in 1:6] hidedecorations!.(axs) @@ -89,15 +89,15 @@ rating, votes = getstats() percent = round.(votes/sum(votes)*100, digits=1) with_theme(theme_black()) do - fig = Figure(size= (1200,700), fontsize = 24) + fig = Figure(size= (1200,700), fontsize = 18) ax1 = LScene(fig[1,1], show_axis=false) ax2 = Axis(fig[1,2]; xlabel = "Rating score") mesh!(ax1, m; color = imgcpunk, interpolate=false) barplot!(ax2, rating, votes; color =reverse(cmap_cpunk)) text!(ax2, string.(percent).*"%", position = Point2f.(rating, votes), align = (:center, :bottom)) - text!(ax2, "Total votes: $(sum(votes))", color=cmap_cpunk[8], - position = (1, 3maximum(votes)/4), fontsize= 28) + text!(ax2, Point2f(1, 3maximum(votes)/4); text="Total votes: $(sum(votes))", + color=cmap_cpunk[8], fontsize= 28) hideydecorations!(ax2; grid=false) hidespines!(ax2, :l, :t, :r) ax2.xticks = 1:10 diff --git a/examples/3d/mscatters/gauss2d.jl b/examples/3d/mscatters/gauss2d.jl index 29e9ea28..5ef2b26f 100644 --- a/examples/3d/mscatters/gauss2d.jl +++ b/examples/3d/mscatters/gauss2d.jl @@ -37,7 +37,7 @@ with_theme(theme_dark()) do color = vec(z./2), colormap = cmap_alpha, colorrange = (0, 6), - ambient = Vec3f(0.85, 0.85, 0.85), + #ambient = Vec3f(0.85, 0.85, 0.85), # lights? backlight = 1.5f0) xlims!(-5.5,10) ylims!(-5.5,5.5) diff --git a/examples/3d/surfaces/branching.jl b/examples/3d/surfaces/branching.jl index 7a43e180..892c96ad 100644 --- a/examples/3d/surfaces/branching.jl +++ b/examples/3d/surfaces/branching.jl @@ -12,7 +12,7 @@ x = [u * sin(t) for t in t, u in u] y = [u * cos(t) for t in t, u in u] z = [t / 4 for t in t, u in u] fig = surface(x, y, z; colormap = [:orangered, :orangered], - lightposition = Vec3f(0, 0, 0), ambient = Vec3f(0.65, 0.65, 0.65), + #lightposition = Vec3f(0, 0, 0), ambient = Vec3f(0.65, 0.65, 0.65), backlight = 5.0f0, figure = (; size = (1200, 800))) wireframe!(x, y, z, overdraw = false, linewidth = 0.1) # try overdraw = true fig diff --git a/examples/3d/surfaces/gabriels_horn.jl b/examples/3d/surfaces/gabriels_horn.jl index b0f066b5..4a12bdb7 100644 --- a/examples/3d/surfaces/gabriels_horn.jl +++ b/examples/3d/surfaces/gabriels_horn.jl @@ -14,7 +14,8 @@ Z1 = [(1/u) * sin(v) for u in u, v in v] fig = Figure(size=(1200, 800)) ax = LScene(fig[1, 1], show_axis=false) -pltobj = surface!(ax, -X1, -Y1, Z1; shading = FastShading, ambient=Vec3f(0.65, 0.65, 0.65), +pltobj = surface!(ax, -X1, -Y1, Z1; shading = FastShading, + #ambient=Vec3f(0.65, 0.65, 0.65), backlight=1.0f0, color=sqrt.(X1 .^ 2 .+ Y1 .^ 2 .+ Z1 .^ 2), colormap=Reverse(:bone_1), transparency=true, ) diff --git a/examples/3d/surfaces/onecolor.jl b/examples/3d/surfaces/onecolor.jl index 1f6a40ac..b0e78945 100644 --- a/examples/3d/surfaces/onecolor.jl +++ b/examples/3d/surfaces/onecolor.jl @@ -12,7 +12,7 @@ x = [u * sin(t) for t in t, u in u] y = [u * cos(t) for t in t, u in u] z = [u for t in t, u in u] fig = surface(x, y, z, colormap = [:dodgerblue, :dodgerblue], - lightposition = Vec3f(0, 0, 0.8), ambient = Vec3f(0.6, 0.6, 0.6), + #lightposition = Vec3f(0, 0, 0.8), ambient = Vec3f(0.6, 0.6, 0.6), backlight = 2.0f0) wireframe!(x, y, z; overdraw = false, linewidth = 0.1) # try overdraw = true fig diff --git a/examples/3d/surfaces/revolution_surface.jl b/examples/3d/surfaces/revolution_surface.jl index 2be35542..b6d9434d 100644 --- a/examples/3d/surfaces/revolution_surface.jl +++ b/examples/3d/surfaces/revolution_surface.jl @@ -12,7 +12,8 @@ X1 = [u for u in u, v in v] Y1 = [(u^4 - u^2) * cos(v) for u in u, v in v] Z1 = [(u^4 - u^2) * sin(v) for u in u, v in v] -fig, ax, pltobj = surface(X1, Y1, Z1; shading = FastShading, ambient = Vec3f(0.65, 0.65, 0.65), +fig, ax, pltobj = surface(X1, Y1, Z1; shading = FastShading, + #ambient = Vec3f(0.65, 0.65, 0.65), backlight = 1.0f0, color = sqrt.(X1 .^ 2 .+ Y1 .^ 2 .+ Z1 .^ 2), colormap = :viridis, transparency = true, figure = (; size = (1200, 800), fontsize = 22)) diff --git a/examples/3d/surfaces/revolution_surface_s.jl b/examples/3d/surfaces/revolution_surface_s.jl index 514d39e9..e5d8fe0d 100644 --- a/examples/3d/surfaces/revolution_surface_s.jl +++ b/examples/3d/surfaces/revolution_surface_s.jl @@ -12,7 +12,8 @@ X1 = [u for u in u, v in v] Y1 = [(u^2 + 1) * cos(v) for u in u, v in v] Z1 = [(u^2 + 1) * sin(v) for u in u, v in v] -fig, ax, pltobj = surface(X1, Y1, Z1; shading = FastShading, ambient = Vec3f(0.95, 0.95, 0.95), +fig, ax, pltobj = surface(X1, Y1, Z1; shading = FastShading, + #ambient = Vec3f(0.95, 0.95, 0.95), backlight = 1.0f0, color = sqrt.(X1 .^ 2 .+ Y1 .^ 2 .+ Z1 .^ 2), colormap = :Isfahan2, transparency = true, figure = (; size = (1200, 800), fontsize = 22)) diff --git a/examples/3d/surfaces/tesseralSphericalH.jl b/examples/3d/surfaces/tesseralSphericalH.jl index 9ab58735..371122e6 100644 --- a/examples/3d/surfaces/tesseralSphericalH.jl +++ b/examples/3d/surfaces/tesseralSphericalH.jl @@ -26,7 +26,7 @@ l = 10 m = 1 Ygrid = [Y(θ, ϕ, l, m) for θ in θ, ϕ in ϕ] Ylm = abs.(Ygrid) -cmap = [:dodgerblue, :white] +cmap = [:dodgerblue, :white, :orangered] with_theme(theme_dark()) do fig = Figure(size = (1200, 800), fontsize = 22) diff --git a/examples/3d/surfaces/torus.jl b/examples/3d/surfaces/torus.jl index 54b763d1..fbf9d3b8 100644 --- a/examples/3d/surfaces/torus.jl +++ b/examples/3d/surfaces/torus.jl @@ -15,7 +15,7 @@ x2 = [1 + cos(u) + 0.5 * cos(u) * cos(v) for u in U, v in V] y2 = [0.5 * sin(v) for u in U, v in V] z2 = [sin(u) + 0.5 * sin(u) * cos(v) for u in U, v in V] -fig = Figure(size = (1200, 800)) +fig = Figure(; size = (1200, 800)) ax = LScene(fig, show_axis = true) tori1 = surface!(ax, x1, y1, z1; colormap = :viridis, shading = NoShading, transparency = true) diff --git a/examples/dashboards/colorschemes.jl b/examples/dashboards/colorschemes.jl index 3d0ef422..be59c575 100644 --- a/examples/dashboards/colorschemes.jl +++ b/examples/dashboards/colorschemes.jl @@ -14,6 +14,7 @@ function plotVolColormaps(; rseed = 123) cmap = @lift(cs[$cmapIdx]) ## the actual figure x = y = z = -1.7:0.05:1.7 + xs = ys = zs = -1.7..1.7 r(i, j, k) = sqrt(i^2 + j^2 + k^2) A = [rand() / r(i, j, k)^2 for i in x, j in y, k in z] @@ -23,7 +24,7 @@ function plotVolColormaps(; rseed = 123) perspectiveness = 0.5, elevation = π / 9 ) - volume!(ax, x, y, z, A; colormap = cmap, transparency = true, colorrange = (0,5)) + volume!(ax, xs, ys, zs, A; colormap = cmap, transparency = true, colorrange = (0,5)) fig[0, 1] = GLMakie.Label(fig, @lift("Colormap: $(cs[$cmapIdx])"), fontsize = 20, tellheight = true, tellwidth = false) sl = Slider(fig[1, 2], range = 1:length(cs), startvalue = 380, horizontal = false) diff --git a/examples/dashboards/matcap.jl b/examples/dashboards/matcap.jl index 6e6330e8..727249d5 100644 --- a/examples/dashboards/matcap.jl +++ b/examples/dashboards/matcap.jl @@ -34,19 +34,19 @@ function plotmat() idx = Observable(1) idpng = @lift(ids[$idx]) matcap = @lift(load(Downloads.download("https://raw.githubusercontent.com/nidorx/matcaps/master/1024/$($idpng).png"))) - ambient = Vec3f(0.8, 0.8, 0.8) + # ambient = Vec3f(0.8, 0.8, 0.8) shading = FastShading fig = Figure(size=(1200, 900)) axs = [LScene(fig[i, j]; show_axis=false) for j in 1:3, i in 1:2] - mesh!(axs[5], sphere; matcap, shading, ambient) - mesh!(axs[3], rectmesh; matcap, shading, ambient, transparency=true) - mesh!(axs[4], pyr; matcap, shading, ambient) - mesh!(axs[2], matball; matcap, shading, ambient) - mesh!(axs[2], matball_inner; matcap, shading, ambient) - mesh!(axs[2], matball_outer; matcap, shading, ambient) - mesh!(axs[6], cone; matcap, shading, ambient) - mesh!(axs[1], brain; matcap, shading, ambient) + mesh!(axs[5], sphere; matcap, shading) + mesh!(axs[3], rectmesh; matcap, shading, transparency=true) + mesh!(axs[4], pyr; matcap, shading) + mesh!(axs[2], matball; matcap, shading) + mesh!(axs[2], matball_inner; matcap, shading) + mesh!(axs[2], matball_outer; matcap, shading) + mesh!(axs[6], cone; matcap, shading) + mesh!(axs[1], brain; matcap, shading) GLMakie.rotate!(axs[2].scene, 2.35) center!(axs[2].scene) zoom!(axs[2].scene, cameracontrols(axs[2].scene), 0.75) diff --git a/examples/datavis/astronauts.jl b/examples/datavis/astronauts.jl index c7752cba..6041e02d 100644 --- a/examples/datavis/astronauts.jl +++ b/examples/datavis/astronauts.jl @@ -109,14 +109,14 @@ function plotastro() end lines!([rPts * gridLines[1], rPts * gridLines[end]], [0, 0], linestyle = :dash, linewidth = 2, color = "#FFDD33") - text!("evaM (hrs)", position = (47, -3.5), color = "#FFDD33", fontsize = 16) + text!("evaM (hrs)", position = Point2f(47, -3.5), color = "#FFDD33", fontsize = 16) text!("evaM ≡ Duration of extravehicular \n activities during the mission in hours", - position = (rPts * gridLines[end-2], 90), color = "#FFDD33", fontsize = 16) - text!("using Makie", position = (-99, -94), fontsize = 18, color = :white) + position = Point2f(rPts * gridLines[end-2], 90), color = "#FFDD33", fontsize = 16) + text!("using Makie", position = Point2f(-99, -94), fontsize = 18, color = :white) text!("Visualization by Lazaro Alonso and Julius Krumbiegel ", - position = (-99, -97), fontsize = 12, color = "#61AFEF") + position = Point2f(-99, -97), fontsize = 12, color = "#61AFEF") text!("Data - Astronaut Database - Mariya Stavnichuk and Tatsuya Corlett", - position = (-99, -99), fontsize = 10) + position = Point2f(-99, -99), fontsize = 10) limits!(ax, -100, 100, -100, 100) fig end diff --git a/examples/datavis/earthquakes.jl b/examples/datavis/earthquakes.jl index bdd2ba31..dfd604fd 100644 --- a/examples/datavis/earthquakes.jl +++ b/examples/datavis/earthquakes.jl @@ -47,8 +47,7 @@ with_theme(theme_black()) do fig = Figure(size = (900, 900), fontsize = 20) ax = LScene(fig[1, 1], show_axis = false) pltobj = meshscatter!(ax, toPoints3D; markersize = ms / 20 .+ 0.001, color = mag, - colormap = resample_cmap(:afmhot, 256)[10:end], shading = FastShading, - ambient = Vec3f(0.99, 0.99, 0.99)) + colormap = resample_cmap(:afmhot, 256)[10:end], shading = FastShading) surface!(ax, sphere(; r = 1.0)..., color = tuple.(earth_img, 0.1), shading = FastShading, transparency = true) Colorbar(fig[1, 2], pltobj, label = "Magnitude", height = Relative(1.5 / 4)) diff --git a/examples/datavis/strange_attractors.jl b/examples/datavis/strange_attractors.jl index 854909ad..0e112924 100644 --- a/examples/datavis/strange_attractors.jl +++ b/examples/datavis/strange_attractors.jl @@ -67,7 +67,7 @@ with_theme(theme_black()) do fig = Figure(size = (1200,900)) axs = [Axis(fig[i,j], aspect=1) for i in 1:3 for j in 1:4] for i in 1:12 - x, y = trajectory(Clifford, cargs[i][1:2]..., cargs[i][3:end]; n = 100_000) + x, y = trajectory(Clifford, cargs[i][1:2]..., cargs[i][3:end]; n = 300_000) o = aggHist(x, y; nbinsx = 300, nbinsy = 300) m = eq_hist(o.counts) heatmap!(axs[i], o.xedges, o.yedges, m; colormap = :inferno) From aef13c0c9910312474e0c52d5100ee9bfbdb1614 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Sun, 12 May 2024 10:58:13 +0200 Subject: [PATCH 4/7] more updates --- docs/gen_mds.jl | 1 + examples/animations/gravities.jl | 2 ++ examples/animations/rotating_with_time.jl | 2 ++ examples/animations/scatter_and_line.jl | 2 ++ examples/animations/scatter_size.jl | 2 ++ examples/animations/travelling_solar_system.jl | 2 ++ examples/dashboards/matcap.jl | 4 ++-- examples/datavis/earthquakes.jl | 2 ++ package.json | 6 +++--- 9 files changed, 18 insertions(+), 5 deletions(-) diff --git a/docs/gen_mds.jl b/docs/gen_mds.jl index 162cde6c..1115e234 100644 --- a/docs/gen_mds.jl +++ b/docs/gen_mds.jl @@ -26,6 +26,7 @@ function get_files(folders) "penguinsBoxes.jl", "penguinsViolins.jl", "submarine_cables.jl", + "earthquakes_proj.jl", ]) fpaths = "$(f)/" .* names diff --git a/examples/animations/gravities.jl b/examples/animations/gravities.jl index a34daa88..6b42f9ae 100644 --- a/examples/animations/gravities.jl +++ b/examples/animations/gravities.jl @@ -1,6 +1,8 @@ # ## Falling bodies in the Solar System. +# ```@raw html # +# ``` using GLMakie, FileIO GLMakie.activate!() diff --git a/examples/animations/rotating_with_time.jl b/examples/animations/rotating_with_time.jl index 9eb705fb..bd2d82cb 100644 --- a/examples/animations/rotating_with_time.jl +++ b/examples/animations/rotating_with_time.jl @@ -1,6 +1,8 @@ # ## Rotating disc points +# ```@raw html # +# ``` using GLMakie GLMakie.activate!() diff --git a/examples/animations/scatter_and_line.jl b/examples/animations/scatter_and_line.jl index f4dc2040..0018cc87 100644 --- a/examples/animations/scatter_and_line.jl +++ b/examples/animations/scatter_and_line.jl @@ -1,6 +1,8 @@ # ## Animate line and point: Projectile motion +# ```@raw html # +# ``` using GLMakie GLMakie.activate!() diff --git a/examples/animations/scatter_size.jl b/examples/animations/scatter_size.jl index 38b2975b..8fe4ca47 100644 --- a/examples/animations/scatter_size.jl +++ b/examples/animations/scatter_size.jl @@ -1,6 +1,8 @@ # ## Animate markersize growth +# ```@raw html # +# ``` using GLMakie, Random GLMakie.activate!() diff --git a/examples/animations/travelling_solar_system.jl b/examples/animations/travelling_solar_system.jl index 6f12c984..caaccd7b 100644 --- a/examples/animations/travelling_solar_system.jl +++ b/examples/animations/travelling_solar_system.jl @@ -1,6 +1,8 @@ # ## The speed of light in the solar system +# ```@raw html # +# ``` using GLMakie GLMakie.activate!() diff --git a/examples/dashboards/matcap.jl b/examples/dashboards/matcap.jl index 727249d5..732f21cf 100644 --- a/examples/dashboards/matcap.jl +++ b/examples/dashboards/matcap.jl @@ -34,9 +34,9 @@ function plotmat() idx = Observable(1) idpng = @lift(ids[$idx]) matcap = @lift(load(Downloads.download("https://raw.githubusercontent.com/nidorx/matcaps/master/1024/$($idpng).png"))) - # ambient = Vec3f(0.8, 0.8, 0.8) + shading = FastShading - fig = Figure(size=(1200, 900)) + fig = Figure(size=(900, 600)) axs = [LScene(fig[i, j]; show_axis=false) for j in 1:3, i in 1:2] mesh!(axs[5], sphere; matcap, shading) diff --git a/examples/datavis/earthquakes.jl b/examples/datavis/earthquakes.jl index dfd604fd..cbc45b34 100644 --- a/examples/datavis/earthquakes.jl +++ b/examples/datavis/earthquakes.jl @@ -1,6 +1,8 @@ # ## Earthquakes +# ```@raw html # +# ``` using CSV, DataFrames using GLMakie, Colors, ColorSchemes diff --git a/package.json b/package.json index dda17feb..cd28e35b 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "scripts": { - "docs:dev": "vitepress dev docs/docs_site", - "docs:build": "vitepress build docs/docs_site", - "docs:preview": "vitepress preview docs/docs_site" + "docs:dev": "vitepress dev docs/docs_site/.documenter/", + "docs:build": "vitepress build docs/docs_site/.documenter/", + "docs:preview": "vitepress preview docs/docs_site/.documenter/" }, "devDependencies": { "vitepress-plugin-tabs": "^0.5.0" From 24e250b8947a1f10c74141ab73a4b3b92b20fa25 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Sun, 12 May 2024 17:04:25 +0200 Subject: [PATCH 5/7] fixes examples --- docs/src/.vitepress/config.mts | 16 +++- examples/2d/arrows/arrows.jl | 8 +- examples/2d/density/density.jl | 6 +- examples/2d/heatmaps/heatmap.jl | 1 + examples/2d/heatmaps/heatmap1SharedCbar.jl | 19 ++++ examples/2d/heatmaps/heatmap2SharedCbars.jl | 20 +++++ examples/2d/heatmaps/heatmapCbarBottom.jl | 16 ++++ examples/2d/heatmaps/heatmapCbarLeft.jl | 16 ++++ examples/2d/heatmaps/heatmapCbarTop.jl | 16 ++++ examples/2d/heatmaps/heatmapGrid.jl | 19 ++++ examples/2d/heatmaps/heatmapIrregular.jl | 18 ++++ .../2d/heatmaps/heatmapIrregularCategories.jl | 43 ++++++++++ examples/2d/heatmaps/heatmapLogIrregular.jl | 32 +++++++ examples/2d/heatmaps/heatmapScaleAdd.jl | 69 +++++++++++++++ examples/2d/heatmaps/heatmapScaleCrosshair.jl | 68 +++++++++++++++ examples/2d/heatmaps/heatmapScaleDetail.jl | 78 +++++++++++++++++ examples/2d/heatmaps/heatmapScaleSections.jl | 86 +++++++++++++++++++ examples/2d/heatmaps/heatmapxyz.jl | 19 ++++ examples/2d/heatmaps/text_heatmap.jl | 6 +- examples/2d/histogram/parallel_image_hist.jl | 8 +- examples/2d/lines/line_cmap.jl | 8 +- examples/2d/lines/line_cmaps.jl | 6 +- examples/2d/lines/line_cmaps_a.jl | 6 +- examples/2d/lines/line_colored_cbar.jl | 6 +- examples/2d/lines/line_xylog.jl | 7 +- examples/2d/scatters/bubble_plot_logxy.jl | 6 +- examples/2d/scatters/scatter.jl | 6 +- examples/datavis/candlestick.jl | 36 ++++++++ 28 files changed, 605 insertions(+), 40 deletions(-) create mode 100644 examples/2d/heatmaps/heatmap1SharedCbar.jl create mode 100644 examples/2d/heatmaps/heatmap2SharedCbars.jl create mode 100644 examples/2d/heatmaps/heatmapCbarBottom.jl create mode 100644 examples/2d/heatmaps/heatmapCbarLeft.jl create mode 100644 examples/2d/heatmaps/heatmapCbarTop.jl create mode 100644 examples/2d/heatmaps/heatmapGrid.jl create mode 100644 examples/2d/heatmaps/heatmapIrregular.jl create mode 100644 examples/2d/heatmaps/heatmapIrregularCategories.jl create mode 100644 examples/2d/heatmaps/heatmapLogIrregular.jl create mode 100644 examples/2d/heatmaps/heatmapScaleAdd.jl create mode 100644 examples/2d/heatmaps/heatmapScaleCrosshair.jl create mode 100644 examples/2d/heatmaps/heatmapScaleDetail.jl create mode 100644 examples/2d/heatmaps/heatmapScaleSections.jl create mode 100644 examples/2d/heatmaps/heatmapxyz.jl create mode 100644 examples/datavis/candlestick.jl diff --git a/docs/src/.vitepress/config.mts b/docs/src/.vitepress/config.mts index 7950d3b3..50ccaf2c 100644 --- a/docs/src/.vitepress/config.mts +++ b/docs/src/.vitepress/config.mts @@ -169,7 +169,20 @@ const viteConfig = defineViteConfig({ items: [ { text: 'heatmaps',link: '/examples/2d/heatmaps/heatmap' }, { text: 'text_heatmap',link: '/examples/2d/heatmaps/text_heatmap' }, - + { text: 'heatmap with 1 shared colorbar',link: '/examples/2d/heatmaps/heatmap1SharedCbar' }, + { text: 'heatmap with 2 shared colorbars',link: '/examples/2d/heatmaps/heatmap2SharedCbars' }, + { text: 'heatmap with bottom colorbar',link: '/examples/2d/heatmaps/heatmapCbarBottom' }, + { text: 'heatmap with left colorbar',link: '/examples/2d/heatmaps/heatmapCbarLeft' }, + { text: 'heatmap with top colorbar',link: '/examples/2d/heatmaps/heatmapCbarTop' }, + { text: 'heatmaps: grid',link: '/examples/2d/heatmaps/heatmapGrid' }, + { text: 'heatmap irregular steps',link: '/examples/2d/heatmaps/heatmapIrregular' }, + { text: 'heatmap irregular categories',link: '/examples/2d/heatmaps/heatmapIrregularCategories' }, + { text: 'heatmap: log scales',link: '/examples/2d/heatmaps/heatmapLogIrregular' }, + { text: 'heatmap: scales added',link: '/examples/2d/heatmaps/heatmapScaleAdd' }, + { text: 'heatmap: scale crosshair',link: '/examples/2d/heatmaps/heatmapScaleCrosshair' }, + { text: 'heatmap: scale detail',link: '/examples/2d/heatmaps/heatmapScaleDetail' }, + { text: 'heatmap: scale sections',link: '/examples/2d/heatmaps/heatmapScaleSections' }, + { text: 'heatmap: x, y positions',link: '/examples/2d/heatmaps/heatmapxyz' }, ], }, { @@ -470,6 +483,7 @@ const viteConfig = defineViteConfig({ { text: 'leos', link: '/examples/datavis/leos' }, { text: 'multipleTitles', link: '/examples/datavis/multipleTitles' }, { text: 'strange_attractors', link: '/examples/datavis/strange_attractors' }, + { text: 'candlestick', link: '/examples/datavis/candlestick' }, ], }, ], diff --git a/examples/2d/arrows/arrows.jl b/examples/2d/arrows/arrows.jl index 5f534f3e..227c3781 100644 --- a/examples/2d/arrows/arrows.jl +++ b/examples/2d/arrows/arrows.jl @@ -1,9 +1,9 @@ # ## Arrows -# ![](arrows.svg) +# ![](arrows.png) using CairoMakie -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide xs = LinRange(-3, 3, 20) ys = LinRange(-3, 3, 20) @@ -12,7 +12,7 @@ vs = [y - x for x in xs, y in ys] strength = vec(sqrt.(us .^2 .+ vs .^2)) cmap = :gnuplot -fig = Figure(size = (600, 400)) +fig = Figure(; size = (600, 400)) ax = Axis(fig[1,1], xlabel = "x", ylabel = "y", aspect = DataAspect()) arrows!(ax, xs, ys, us, vs, arrowsize = 10, lengthscale = 0.1, arrowcolor = strength, linecolor = strength, colormap = cmap) @@ -21,4 +21,4 @@ Colorbar(fig[1,2], limits =(minimum(strength), maximum(strength)), limits!(ax, -3,3,-3,3) colsize!(fig.layout, 1, Aspect(1, 1.0)) fig -save("arrows.svg", fig); # hide \ No newline at end of file +save("arrows.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/density/density.jl b/examples/2d/density/density.jl index c1efca0c..30431de9 100644 --- a/examples/2d/density/density.jl +++ b/examples/2d/density/density.jl @@ -1,9 +1,9 @@ # ## density plot -# ![](density.svg) +# ![](density.png) using CairoMakie, Distributions, Random -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide Random.seed!(124) colors = ["#FF410D", "#6EE2FF", "#F7C530", "#95CC5E", "#D0DFE6", "#F79D1E"] @@ -20,4 +20,4 @@ end axislegend(L"\mu,\quad\sigma"; position= :cb, titlesize= 22) hidedecorations!(ax; grid = false) fig -save("density.svg", fig); # hide \ No newline at end of file +save("density.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/heatmaps/heatmap.jl b/examples/2d/heatmaps/heatmap.jl index 2602ba27..1415f981 100644 --- a/examples/2d/heatmaps/heatmap.jl +++ b/examples/2d/heatmaps/heatmap.jl @@ -5,6 +5,7 @@ using CairoMakie, Random CairoMakie.activate!(type = "svg") #hide +using GLMakie Random.seed!(123) fig = Figure(size = (600, 400)) ax = Axis(fig[1, 1]; xlabel = "x", ylabel = "y") diff --git a/examples/2d/heatmaps/heatmap1SharedCbar.jl b/examples/2d/heatmaps/heatmap1SharedCbar.jl new file mode 100644 index 00000000..6bc6de95 --- /dev/null +++ b/examples/2d/heatmaps/heatmap1SharedCbar.jl @@ -0,0 +1,19 @@ +# ## heatmap with 1 shared colorbar + +# ![](heatmap1SharedCbar.png) + +using CairoMakie +using Random +CairoMakie.activate!() # hide + +Random.seed!(123) +fig = Figure(; size = (600, 400)) +axs = [Axis(fig[1, j], aspect = 1, xticks = [1, 10], yticks = [1, 10]) for j in 1:2] +[heatmap!(axs[i], 1:10, 1:10, rand(10, 10); colormap = :plasma, + colorrange = (0, 1)) for i in 1:2] +Colorbar(fig[2, :1:2], colormap = :plasma, limits= (0,1), + vertical = false, flipaxis = false, height = 15, tickwidth = 2, + ticklabelsize = 14, ticks = [0, 0.5, 1]) +hideydecorations!(axs[2], ticks = false) +fig +save("heatmap1SharedCbar.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmap2SharedCbars.jl b/examples/2d/heatmaps/heatmap2SharedCbars.jl new file mode 100644 index 00000000..729132f0 --- /dev/null +++ b/examples/2d/heatmaps/heatmap2SharedCbars.jl @@ -0,0 +1,20 @@ +# ## heatmap with 2 shared colorbars + +# ![](heatmap2SharedCbars.png) + +using CairoMakie, Random +using ColorSchemes +CairoMakie.activate!() # hide + +Random.seed!(123) +cmaps = collect(keys(colorschemes)) +fig = Figure(; size = (600, 400)) +for i in 1:2, j in 1:2:3 + ax = Axis(fig[i, j]; aspect = 1) + hm = heatmap!(ax, 1:10, 1:10, rand(10, 10); colorrange = (0, 1), + colormap = cmaps[5j]) + Colorbar(fig[1:2, j+1]; limits=(0,1), colormap = cmaps[5j], ticklabelsize = 14, + height = Relative(0.85), ticks = [0, 0.5, 1], tickwidth = 2) +end +fig +save("heatmap2SharedCbars.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapCbarBottom.jl b/examples/2d/heatmaps/heatmapCbarBottom.jl new file mode 100644 index 00000000..8049529c --- /dev/null +++ b/examples/2d/heatmaps/heatmapCbarBottom.jl @@ -0,0 +1,16 @@ +# ## heatmap with bottom colorbar + +# ![](heatmapCbarBottom.png) + +using CairoMakie, Random +CairoMakie.activate!() # hide + +Random.seed!(123) +fig = Figure(;size = (600, 400)) +ax = Axis(fig[1, 1], aspect = 1, xlabel = "x", ylabel = "y") +hmap = heatmap!(rand(20, 20), colormap = :lajolla) +Colorbar(fig[2, 1], hmap, label = "values", height = 15, vertical = false, + flipaxis = false, ticksize = 15, tickalign = 1, width = Relative(0.5)) +rowsize!(fig.layout, 1, Aspect(1, 0.5)) +fig +save("heatmapCbarBottom.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapCbarLeft.jl b/examples/2d/heatmaps/heatmapCbarLeft.jl new file mode 100644 index 00000000..6d459b39 --- /dev/null +++ b/examples/2d/heatmaps/heatmapCbarLeft.jl @@ -0,0 +1,16 @@ +# ## heatmap with left colorbar + +# ![](heatmapCbarLeft.png) + +using CairoMakie, Random +CairoMakie.activate!() # hide + +Random.seed!(123) +fig = Figure(; size = (600, 400)) +ax = Axis(fig[1, 2]; xlabel = "x", ylabel = "y") +hmap = heatmap!(2rand(20, 20) .- 1; colormap = :Spectral_11) +Colorbar(fig[1, 1], hmap; label = "values", width = 15, flipaxis = false, + ticksize = 15, tickalign = 1) +colsize!(fig.layout, 2, Aspect(1, 1.0)) +fig +save("heatmapCbarLeft.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/heatmaps/heatmapCbarTop.jl b/examples/2d/heatmaps/heatmapCbarTop.jl new file mode 100644 index 00000000..563bf1b4 --- /dev/null +++ b/examples/2d/heatmaps/heatmapCbarTop.jl @@ -0,0 +1,16 @@ +# ## heatmap with top colorbar + +# ![](heatmapCbarTop.png) + +using CairoMakie, Random +CairoMakie.activate!() #HIDE + +Random.seed!(123) +fig = Figure(; size = (600, 400)) +ax = Axis(fig[2, 1], aspect = 1, xlabel = "x", ylabel = "y") +hmap = heatmap!(rand(20, 20), colormap = :CMRmap) +Colorbar(fig[1, 1], hmap, label = "values", height = 15, vertical = false, + ticksize = 15, tickalign = 1, width = Relative(0.5)) +rowsize!(fig.layout, 2, Aspect(1, 0.5)) +fig +save("heatmapCbarTop.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapGrid.jl b/examples/2d/heatmaps/heatmapGrid.jl new file mode 100644 index 00000000..dd7a2a5b --- /dev/null +++ b/examples/2d/heatmaps/heatmapGrid.jl @@ -0,0 +1,19 @@ +# ## heatmaps: grid + +# ![](heatmapGrid.png) + +using CairoMakie, Random, ColorSchemes +CairoMakie.activate!() # hide + +Random.seed!(21) +cmaps = collect(keys(colorschemes)) +fig = Figure(; size = (1200, 800), fontsize = 20) +for i in 1:2, j in 1:2:5 + ax = Axis(fig[i, j], aspect = 1, xticks = [1, 10], yticks = [1, 10]) + hmap = heatmap!(ax, 1:10, 1:10, rand(10, 10); colorrange = (0, 1), + colormap = cmaps[rand(1:length(cmaps))]) + Colorbar(fig[i, j+1], hmap; height = Relative(0.5), tickwidth = 2, + ticks = [0, 0.5, 1]) +end +fig +save("heatmapGrid.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/heatmaps/heatmapIrregular.jl b/examples/2d/heatmaps/heatmapIrregular.jl new file mode 100644 index 00000000..d91679e0 --- /dev/null +++ b/examples/2d/heatmaps/heatmapIrregular.jl @@ -0,0 +1,18 @@ +# ## heatmap irregular steps + +# ![](heatmapIrregular.png) + +using CairoMakie, Random +CairoMakie.activate!() # hide + +Random.seed!(123) +x = y = sqrt.(1:10:101) +z = abs.(randn(10, 10)) +fig = Figure(; size = (600, 400)) +ax = Axis(fig[1, 1]; aspect = 1, xlabel = "x", ylabel = "y") +hmap = heatmap!(x, y, z; colormap = :magma) +Colorbar(fig[1, 2], hmap; label="z values", width=15, ticksize=15, tickalign=1) +colsize!(fig.layout, 1, Aspect(1, 1.0)) +colgap!(fig.layout, 7) +fig +save("heatmapIrregular.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapIrregularCategories.jl b/examples/2d/heatmaps/heatmapIrregularCategories.jl new file mode 100644 index 00000000..f0ec8435 --- /dev/null +++ b/examples/2d/heatmaps/heatmapIrregularCategories.jl @@ -0,0 +1,43 @@ +# ## heatmap: Irregular Categories + +# ![](heatmapIrregularCategories.png) + +# Example by @walra356 (modified) +using CairoMakie, Random +Random.seed!(13) + +CairoMakie.activate!() # hide + +n= 5 +x = rand(n) # specify x steplength +y = rand(n) # specify y steplength +σ = rand(length(x), length(y)) # beware of dims + +## custom ticks +function steps(x::Vector{T} where T<:Real) + sum(x .< 0) == 0 || error("Error: $x - negative step length not allowed") + return (s = append!(eltype(x)[0],x); [Base.sum(s[1:i]) for i ∈ Base.eachindex(s)]) +end +function stepcenters(x::Vector{T} where T<:Real) + δ = x .* 0.5 + s = append!(eltype(x)[0],x) + return [Base.sum(s[1:i]) for i ∈ Base.eachindex(x)] .+ δ +end +stepedges(x::Vector{T} where T<:Real) = steps(x) + +## the actual plot +theme = Theme(fontsize = 16, colormap = :gist_earth, ; size = (750,450)) +set_theme!(theme) + +attr1 = (xticks = (stepcenters(x),string.(1:n)), + yticks = (stepcenters(y), string.(1:n)), xlabel = "cat", ) +attr2 = (xticks = (stepedges(x),string.(0:n)), + yticks = (stepedges(y), string.(0:n)), xlabel="cat", ) + +fig = Figure() +ax1 = Axis(fig[1,1]; attr1...) +ax2 = Axis(fig[1,2]; attr2...) +heatmap!(ax1, steps(x), steps(y), σ) +heatmap!(ax2, steps(x), steps(y), σ) +fig +save("heatmapIrregularCategories.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapLogIrregular.jl b/examples/2d/heatmaps/heatmapLogIrregular.jl new file mode 100644 index 00000000..10291840 --- /dev/null +++ b/examples/2d/heatmaps/heatmapLogIrregular.jl @@ -0,0 +1,32 @@ +# ## heatmap: log scales + +# ![](heatmapLogIrregular.png) + +using CairoMakie, Colors, ColorSchemes, Random +CairoMakie.activate!() # hide + +Random.seed!(38) +x = y = 1:100 +z = exp10.(2 * rand(100, 100)) +z[1, 1] = 99 +z[2, 1] = 90 +z[3, 1] = 10 +cmap = cgrad(:gnuplot, scale = :log10) +ticks = (vcat(collect(1:9), collect(10:10:100)), + ["1", fill("", 8)..., "10", fill("", 8)..., "10²"]) + +fig = Figure(; size = (600, 400)) +ax = Axis(fig[1, 1], xscale = log10, yscale = log10, + xlabel = "x", ylabel = "y") +hmap = heatmap!(x, y, z, colormap = cmap, colorrange = (1, 100)) +cbar = Colorbar(fig[1, 2], hmap, label = "z values", + width = 15, ticksize = 15, labelsize = 18, ticklabelsize = 18, + tickalign = 1, minortickalign = 1, + scale = log10) +ax.xticks = ticks +ax.yticks = ticks +cbar.ticks = ticks +colsize!(fig.layout, 1, Aspect(1, 1.0)) +colgap!(fig.layout, 7) +fig +save("heatmapLogIrregular.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapScaleAdd.jl b/examples/2d/heatmaps/heatmapScaleAdd.jl new file mode 100644 index 00000000..a0cef809 --- /dev/null +++ b/examples/2d/heatmaps/heatmapScaleAdd.jl @@ -0,0 +1,69 @@ +# ## heatmap: scales added + +# ![](heatmapScaleAdd.png) + +# by @walra356 + +using CairoMakie +CairoMakie.activate!() # hide + +supertitle = "adding physical scale to exposure heatmap of camera chip" +# define transformation from pixel coordinates to physical coordinates +edges(p, Δx, x0) = collect(p .* Δx) .- (x0 + 0.5Δx) +# parameters camera chip (pixel coordinates) +dimX = 40 +dimY = 30 # pixel dimensions camera chip +(px, py) = (1:dimX, 1:dimY) # pixel positions +(ix, iy) = (10, 3) # selected pixel +# physical coordinates +(Δx, Δy) = (4.0, 5, 0) # pixel lattice periods (μm) +(Ox, Oy) = (0.0, 0.0) # manual offset (μm) +(x, y) = (edges(px, Δx, Ox), edges(py, Δy, Oy)) # pixel positions (μm) +# create exposure matrix σ (model alternative for measurement file) +valmax = 500.0 # maximum value exposure matrix +exposure(i, j, ix, iy, wx, wy) = 0.9valmax * + (exp(-(((i - ix) / wx)^2 + ((Δy / Δx) * (j - iy) / wy)^2)) + 0.1) +σ = round.(Int, [exposure(i, j, ix, iy, 6, 6) for i = 1:dimX, j = 1:dimY]) +σ = σ[px, py] # exposure matrix +footnote = "Origin of coordinate system was shifted by ($Ox μm, $Oy μm) + w.r.t. left-bottom edge of camera chip + \nPixel lattice periods: (Δx = $Δx μm, Δy = $Δy μm); + pixel position of light spot: (ix, y0) = ($(ix), $(iy))" + +# start actual plot +theme = Theme(fontsize = 12, colormap = :gist_earth, ; size = (750, 500)) +set_theme!(theme) + +fig = Figure() +# specify attributes +fsize = fig.scene.theme.fontsize.val +fres = fig.scene.theme.size.val[1] +attr = (xlabelsize = 6fsize / 5, ylabelsize = 6fsize / 5, titlesize = 7fsize / 5, + xautolimitmargin = (0, 0), yautolimitmargin = (0, 0),) +attr1 = (attr..., title = "raw data", + xticks = [px[1], ix, px[end]], yticks = [py[1], iy, py[end]], + xlabel = "x (pixel)", ylabel = "y (pixel)", + aspect = (Δx * size(σ, 1)) / (Δy * size(σ, 2)),) +attr2 = (attr..., title = "physical scale", + xticks = [x[1] - Δx / 2, x[ix], 100, x[end] + Δx / 2], + yticks = [y[1] - Δy / 2, y[iy], 100, y[end] + Δy / 2], + xlabel = "x (μm)", ylabel = "y (μm)", + aspect = (Δx * size(σ, 1)) / (Δy * size(σ, 2)),) +attr4 = (label = "exposure (counts)", ticksize = 6fsize / 5, tickalign = 1, + width = 15, height = Relative(0.98),) # tweaked +# create axes, add contents +ax1 = Axis(fig; attr1...) +ax2 = Axis(fig; attr2...) +hm1 = heatmap!(ax1, px, py, σ) +hm2 = heatmap!(ax2, x, y, σ) +ax4 = Colorbar(fig, hm1; attr4...) +axn = Label(fig, text = footnote, fontsize = 6fsize / 5) +axt = Label(fig, text = supertitle, fontsize = 2fsize) +# create layout and show figure +fig[1, 1] = ax1 +fig[1, 2] = ax2 +fig[1, 3] = ax4 +fig[2, :] = axn +fig[0, :] = axt +fig +save("heatmapScaleAdd.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapScaleCrosshair.jl b/examples/2d/heatmaps/heatmapScaleCrosshair.jl new file mode 100644 index 00000000..f795bfc3 --- /dev/null +++ b/examples/2d/heatmaps/heatmapScaleCrosshair.jl @@ -0,0 +1,68 @@ +# ## heatmap: scale crosshair + +# ![](heatmapScaleCrosshair.png) + +# by @walra356 +using CairoMakie +CairoMakie.activate!() # hide + +supertitle = "adding a crosshair to exposure heatmap of camera chip" +# define transformation from pixel coordinates to physical coordinates +edges(p, Δx, x0) = collect(p .* Δx) .- (x0 + 0.5Δx) +# parameters camera chip (pixel coordinates) +dimX = 40 +dimY = 30 # pixel dimensions camera chip +(px, py) = (1:dimX, 1:dimY) # pixel positions +(ix, iy) = (10, 3) # selected pixel +# physical coordinates +(Δx, Δy) = (4.0, 5, 0) # pixel lattice periods (μm) +(Ox, Oy) = (edges(ix, Δx, 0), edges(iy, Δy, 0)) # manual offset (μm) +(x, y) = (edges(px, Δx, Ox), edges(py, Δy, Oy)) # pixel positions (μm) +# create exposure matrix σ (model alternative for measurement file) +valmax = 500.0 # maximum value exposure matrix +exposure(i, j, ix, iy, wx, wy) = 0.9valmax * + (exp(-(((i - ix) / wx)^2 + ((Δy / Δx) * (j - iy) / wy)^2)) + 0.1) +σ = round.(Int, [exposure(i, j, ix, iy, 6, 6) for i = 1:dimX, j = 1:dimY]) +σ = σ[px, py] # exposure matrix +footnote = "Origin of coordinate system was shifted by ($Ox μm, $Oy μm) + w.r.t. left-bottom edge of camera chip + \nPixel lattice periods: (Δx = $Δx μm, Δy = $Δy μm); + pixel position of light spot: (ix, y0) = ($(ix), $(iy))" + +# start actual plot +theme = Theme(fontsize = 12, colormap = :gist_earth, ; size = (750, 500)) +set_theme!(theme) +fig = Figure() +# collect attributes +fsize = fig.scene.theme.fontsize.val +attr = (xlabelsize = 6fsize / 5, ylabelsize = 6fsize / 5, titlesize = 7fsize / 5, + xautolimitmargin = (0, 0), yautolimitmargin = (0, 0),) +attr1 = (attr..., title = "raw data", + xticks = [px[1], ix, px[end]], yticks = [py[1], iy, py[end]], + xlabel = "x (pixel)", ylabel = "y (pixel)", + aspect = (Δx * size(σ, 1)) / (Δy * size(σ, 2)),) +attr2 = (attr..., title = "physical scale", + xticks = [x[1] - Δx / 2, x[ix], 50, x[end] + Δx / 2], + yticks = [y[1] - Δy / 2, y[iy], 50, y[end] + Δy / 2], + xlabel = "x (μm)", ylabel = "y (μm)", + aspect = (Δx * size(σ, 1)) / (Δy * size(σ, 2)),) +attrc = (label = "exposure (counts)", ticksize = 6fsize / 5, tickalign = 1, + width = 15, height = Relative(0.98),) # tweaked +# create axes, add contents +ax1 = Axis(fig; attr1...) +ax2 = Axis(fig; attr2...) +hm1 = heatmap!(ax1, px, py, σ) +hm2 = heatmap!(ax2, x, y, σ) +axc = Colorbar(fig, hm1; attrc...) +axn = Label(fig, text = footnote, fontsize = 6fsize / 5) +axt = Label(fig, text = supertitle, fontsize = 2fsize) +lnh = lines!(ax2, x, fill(0, length(x)), color = :white, linewidth = 1) +lnv = lines!(ax2, fill(0, length(y)), y, color = :white, linewidth = 1) +# create layout and show figure +fig[1, 1] = ax1 +fig[1, 2] = ax2 +fig[1, 3] = axc +fig[2, :] = axn +fig[0, :] = axt +fig +save("heatmapScaleCrosshair.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapScaleDetail.jl b/examples/2d/heatmaps/heatmapScaleDetail.jl new file mode 100644 index 00000000..3ae6709e --- /dev/null +++ b/examples/2d/heatmaps/heatmapScaleDetail.jl @@ -0,0 +1,78 @@ +# ## heatmap: scale-detail + +# ![](heatmapScaleDetail.png) + +# by @walra356 + +using CairoMakie +CairoMakie.activate!() # hide + +supertitle = "viewing heatmap detail under conservation of physical scale" +# define transformation from pixel coordinates to physical coordinates +edges(p, Δx, x0) = collect(p .* Δx) .- (x0 + 0.5Δx) +# parameters camera chip (pixel coordinates) +dimX = 512 +dimY = 512 # pixel dimensions +(px, py) = (1:dimX, 1:dimY) # pixel positions +(sx, sy) = (100:150, 380:420) # idem for submatrix +(ix, iy) = (125, 400) # selected pixel +# physical coordinates +(Δx, Δy) = (4.0, 5, 0) # pixel lattice periods (μm) +(Ox, Oy) = (0.0, 0.0) # manual offset (μm) +(x, y) = (edges(px, Δx, Ox), edges(py, Δy, Oy)) # pixel positions (μm) +(u, v) = (edges(sx, Δx, Ox), edges(sy, Δy, Oy)) # idem for submatrix +# create exposure matrix σ (model alternative for measurement file) +valmax = 500.0 # maximum value exposure matrix +exposure(i, j, ix, iy, wx, wy) = 0.9valmax * + (exp(-(((i - ix) / wx)^2 + ((Δy / Δx) * (j - iy) / wy)^2)) + 0.1) +σ = round.(Int, [exposure(i, j, ix, iy, 6, 6) for i = 1:dimX, j = 1:dimY]) +σ1 = σ[px, py] # raw matrix +σ2 = σ[sx, sy] # submatrix +footnote = "Origin of coordinate system was shifted by ($Ox μm, $Oy μm) + w.r.t. left-bottom edge of camera chip + \nPixel lattice periods: (Δx = $Δx μm, Δy = $Δy μm); + pixel position of light spot: (ix, y0) = ($(ix), $(iy))" + +# start actual plot +theme = Theme(fontsize = 12, colormap = :gist_earth, ; size = (750, 500)) +set_theme!(theme) +fig = Figure() +# collect attributes +fsize = fig.scene.theme.fontsize.val +attr = (xlabelsize = 6fsize / 5, ylabelsize = 6fsize / 5, titlesize = 7fsize / 5, + xautolimitmargin = (0, 0), yautolimitmargin = (0, 0),) +attr1 = (attr..., title = "raw data", + xticks = [px[1], ix, px[end]], yticks = [py[1], iy, py[end]], + xlabel = "x (pixel)", ylabel = "y (pixel)", + aspect = (Δx * size(σ1, 1)) / (Δy * size(σ1, 2)),) +attr2 = (attr..., title = "physical scale", + xticks = [x[1] - Δx / 2, x[ix], x[end] + Δx / 2], + yticks = [y[1] - Δy / 2, y[iy], y[end] + Δy / 2], + xlabel = "x (μm)", ylabel = "y (μm)", + aspect = (Δx * size(σ1, 1)) / (Δy * size(σ1, 2)),) +attr3 = (attr..., title = "physical detail", + xticks = [u[1] - Δx / 2, u[1+ix-sx[1]], u[end] + Δx / 2], + yticks = [v[1] - Δy / 2, v[1+iy-sy[1]], v[end] + Δy / 2], + xlabel = "x (μm)", ylabel = "y (μm)", + aspect = (Δx * size(σ2, 1)) / (Δy * size(σ2, 2)),) +attrc = (label = "exposure (counts)", ticksize = 6fsize / 5, tickalign = 1, + width = 15, height = Relative(0.54),) # tweaked +# create axes and add contents +ax1 = Axis(fig; attr1...) +ax2 = Axis(fig; attr2...) +ax3 = Axis(fig; attr3...) +hm1 = heatmap!(ax1, px, py, σ1) +hm2 = heatmap!(ax2, x, y, σ1) +hm3 = heatmap!(ax3, u, v, σ2) +axc = Colorbar(fig, hm1; attrc...) +axn = Label(fig, text = footnote, fontsize = 6fsize / 5) # footnote +axt = Label(fig, text = supertitle, fontsize = 2fsize) # supertitle +# create layout and show figure +fig[1, 1] = ax1 +fig[1, 2] = ax2 +fig[1, 3] = ax3 +fig[1, 4] = axc +fig[2, :] = axn +fig[0, :] = axt +fig +save("heatmapScaleDetail.png", fig); # hide diff --git a/examples/2d/heatmaps/heatmapScaleSections.jl b/examples/2d/heatmaps/heatmapScaleSections.jl new file mode 100644 index 00000000..e2235847 --- /dev/null +++ b/examples/2d/heatmaps/heatmapScaleSections.jl @@ -0,0 +1,86 @@ +# ## heatmap: scale sections + +# ![](heatmapScaleSections.png) + +# by @walra356 +using CairoMakie +CairoMakie.activate!() # hide + +supertitle = "heatmap of camera chip exposure with x and y sections" +# define transformation from pixel coordinates to physical coordinates +edges(p, Δx, x0) = collect(p .* Δx) .- (x0 + 0.5Δx) +# parameters camera chip (pixel coordinates) +dimX = 40 +dimY = 30 # pixel dimensions +(px, py) = (1:dimX, 1:dimY) # pixel positions +(ix, iy) = (10, 3) # selected pixel +# physical coordinates +(Δx, Δy) = (4.0, 5, 0) # pixel lattice periods (μm) +(Ox, Oy) = (edges(ix, Δx, 0), edges(iy, Δy, 0)) # manual offset (μm) +(x, y) = (edges(px, Δx, Ox), edges(py, Δy, Oy)) # pixel positions (μm) +# create exposure matrix σ (model alternative for measurement file) +valmax = 500.0 # maximum value exposure matrix +exposure(i, j, ix, iy, wx, wy) = 0.9valmax * + (exp(-(((i - ix) / wx)^2 + ((Δy / Δx) * (j - iy) / wy)^2)) + 0.1) +σ = round.(Int, [exposure(i, j, ix, iy, 6, 6) for i = 1:dimX, j = 1:dimY]) +σ1 = σ[px, py] # raw matrix +sh = σ[:, iy] # horizontal section (pixel row iy from bottom) +sv = σ[ix, :] # vertical section (pixel column ix from left) +footnote = "Origin of coordinate system was shifted by ($Ox μm, $Oy μm) + w.r.t. left-bottom edge of camera chip + \nPixel lattice periods: (Δx = $Δx μm, Δy = $Δy μm); + pixel position of light spot: (ix, y0) = ($(ix), $(iy))" + +# start actual plot +theme = Theme(fontsize = 12, colormap = :gist_earth, ; size = (750, 850)) +set_theme!(theme) +fig = Figure() +# collect attributes +fsize = fig.scene.theme.fontsize.val +fresx = fig.scene.theme.size.val[1] +fresy = fig.scene.theme.size.val[2] +attr = (xlabelsize = 6fsize / 5, ylabelsize = 6fsize / 5, titlesize = 7fsize / 5, + xautolimitmargin = (0, 0), yautolimitmargin = (0, 0),) +attr1 = (attr..., title = "physical scale", + xticks = [x[1] - Δx / 2, x[ix], 50, x[end] + Δx / 2], + yticks = [y[1] - Δy / 2, y[iy], 50, y[end] + Δy / 2], + xlabel = "x (μm)", ylabel = "y (μm)", + aspect = (Δx * size(σ1, 1)) / (Δy * size(σ1, 2)),) +attrc = (label = "exposure (counts)", ticksize = 6fsize / 5, tickalign = 1, + width = 15, height = Relative(0.88),) # tweaked +attrh = (attr..., title = "horizontal section", + xlabel = "x (μm)", ylabel = "exposure (counts)", + xticks = [x[1] - Δx / 2, x[ix], 50, x[end] + Δx / 2], + yticks = [0, 250, valmax], + limits = ((x[1] - Δx / 2, x[end] + Δx / 2), (0, valmax)), + height = fresy / 5, aspect = 2.05,) # tweaked +attrv = (attr..., xlabel = "exposure (counts)", + xticks = [0, 250, valmax], + yticks = [y[1] - Δy / 2, y[iy], 50, y[end] + Δy / 2], + xreversed = true, yaxisposition = :right, + limits = ((0, valmax), (y[1] - Δy / 2, y[end] + Δy / 2)), + width = fresy / 5, aspect = 0.58,) # tweaked +# create axes and add contents +ax1 = Axis(fig; attr1...) +axh = Axis(fig; attrh...) +axv = Axis(fig; attrv...) +hm1 = heatmap!(ax1, x, y, σ1) +axc = Colorbar(fig, hm1; attrc...) +lfn = Label(fig, text = footnote, fontsize = 6fsize / 5) +lst = Label(fig, text = supertitle, fontsize = 2fsize) +lvs = Label(fig, text = "vertical section", padding = (0, 5, 0, 0), + rotation = pi / 2, fontsize = 7fsize / 5) +sch = scatter!(axh, x, sh, color = :red, markersize = 5,) +scv = scatter!(axv, sv, y, color = :red, markersize = 5) +lnh = lines!(ax1, x, fill(0, length(x)), color = :white, linewidth = 1) +lnv = lines!(ax1, fill(0, length(y)), y, color = :white, linewidth = 1) +# create layout and show figure +fig[1, 2] = axh +fig[2, 1] = axv +fig[2, 1, Left()] = lvs +fig[2, 2] = ax1 +fig[2, 3] = axc +fig[3, :] = lfn +fig[0, :] = lst +fig +save("heatmapScaleSections.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/heatmaps/heatmapxyz.jl b/examples/2d/heatmaps/heatmapxyz.jl new file mode 100644 index 00000000..fa4d2401 --- /dev/null +++ b/examples/2d/heatmaps/heatmapxyz.jl @@ -0,0 +1,19 @@ +# ## heatmap: x, y positions + +# ![](heatmapxyz.png) + +using CairoMakie, Random +CairoMakie.activate!() # hide + +Random.seed!(123) +x = y = -5:1:5 +z = [x^2 + y^2 for x in x, y in y] +fig = Figure(; size = (600, 400)) +ax = Axis(fig[1, 1]; aspect = 1, xlabel = "x", ylabel = "y", + xticks = x, yticks = y) +hmap = heatmap!(x, y, z, colormap = :Egypt) +Colorbar(fig[1, 2], hmap, label = "z values", width = 15, ticksize = 15, + tickalign = 0.5) +colsize!(fig.layout, 1, Aspect(1, 1.0)) +fig +save("heatmapxyz.png", fig); # hide diff --git a/examples/2d/heatmaps/text_heatmap.jl b/examples/2d/heatmaps/text_heatmap.jl index 0daba010..1c2262d8 100644 --- a/examples/2d/heatmaps/text_heatmap.jl +++ b/examples/2d/heatmaps/text_heatmap.jl @@ -1,9 +1,9 @@ # ## heatmap with text on top -# ![](text_heatmap.svg) +# ![](text_heatmap.png) using CairoMakie, Random -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide Random.seed!(123) m = 15 @@ -35,4 +35,4 @@ Colorbar(fig[1, 2], hmap; label = "values", width = 15, ticksize = 15) ax.xticklabelrotation = π / 3 ax.xticklabelalign = (:right, :center) fig -save("text_heatmap.svg", fig); # hide \ No newline at end of file +save("text_heatmap.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/histogram/parallel_image_hist.jl b/examples/2d/histogram/parallel_image_hist.jl index d2ebf9fa..f9da17a2 100644 --- a/examples/2d/histogram/parallel_image_hist.jl +++ b/examples/2d/histogram/parallel_image_hist.jl @@ -1,10 +1,10 @@ # ## Histograms r,g,b colors on image -# ![](parallel_image_hist.svg) +# ![](parallel_image_hist.png) using CairoMakie import TestImages, Images -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide ## example by @cormullion function image_histogram() @@ -32,6 +32,4 @@ function image_histogram() end fig = with_theme(image_histogram, theme_ggplot2()) -save("parallel_image_hist.svg", fig); # hide - -# ![](parallel_image_hist.svg) \ No newline at end of file +save("parallel_image_hist.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/lines/line_cmap.jl b/examples/2d/lines/line_cmap.jl index dd05f152..028ce320 100644 --- a/examples/2d/lines/line_cmap.jl +++ b/examples/2d/lines/line_cmap.jl @@ -1,12 +1,12 @@ # ## line with colormap -# ![](line_cmap.svg) +# ![](line_cmap.png) using CairoMakie, ColorSchemes -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide x = range(0, 2π, 100) -fig = Figure(size = (600, 400)) +fig = Figure(; size = (600, 400)) ax = Axis(fig[1, 1], xlabel = "x") obj = lines!(x, sin.(x); color = x, colormap = :viridis, linewidth = 5) lines!(x, cos.(x), color = :black, label = "cos(x)", linewidth = 1) @@ -15,4 +15,4 @@ axislegend(ax) Colorbar(fig[1, 2], obj, label = "sin(x)") colgap!(fig.layout, 5) fig -save("line_cmap.svg", fig); # hide \ No newline at end of file +save("line_cmap.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/lines/line_cmaps.jl b/examples/2d/lines/line_cmaps.jl index 3f5e9cb9..0ff7fe3b 100644 --- a/examples/2d/lines/line_cmaps.jl +++ b/examples/2d/lines/line_cmaps.jl @@ -1,9 +1,9 @@ # ## lines width colormaps -# ![](line_cmaps.svg) +# ![](line_cmaps.png) using CairoMakie, ColorSchemes -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide x = range(0, 2π, 50) fig = Figure(size = (800, 400)) @@ -18,4 +18,4 @@ cbars = [Colorbar(fig[1, i+1], lineas[i], label = labels[i], labelsize = 22) for i in 1:4] colgap!(fig.layout, 5) fig -save("line_cmaps.svg", fig); # hide \ No newline at end of file +save("line_cmaps.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/lines/line_cmaps_a.jl b/examples/2d/lines/line_cmaps_a.jl index ec50d892..be8a17fc 100644 --- a/examples/2d/lines/line_cmaps_a.jl +++ b/examples/2d/lines/line_cmaps_a.jl @@ -1,9 +1,9 @@ # ## lines with colormap and colorbars around -# ![](line_cmaps_a.svg) +# ![](line_cmaps_a.png) using CairoMakie, ColorSchemes -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide x = range(0, 2π, 50) fig = Figure(size = (800, 600), fontsize = 22) @@ -29,4 +29,4 @@ fig[3, 2] = cbar3 colgap!(fig.layout, 5) rowgap!(fig.layout, 5) fig -save("line_cmaps_a.svg", fig); # hide \ No newline at end of file +save("line_cmaps_a.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/lines/line_colored_cbar.jl b/examples/2d/lines/line_colored_cbar.jl index 1d639085..206aff33 100644 --- a/examples/2d/lines/line_colored_cbar.jl +++ b/examples/2d/lines/line_colored_cbar.jl @@ -1,9 +1,9 @@ # ## lines colored with discrete colors from colormap: Colorbar -# ![](line_colored_cbar.svg) +# ![](line_colored_cbar.png) using CairoMakie, ColorSchemes -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide xs = 0:0.01:1 p = -10:1:10 p = filter(x -> x != 0, collect(p)) @@ -26,4 +26,4 @@ Colorbar(fig[1, 2], limits = (-10, 10), nsteps = psize, colormap = cmap, label = L"p", ticksize = 20, width = 20, tickalign = 1) colsize!(fig.layout, 1, Aspect(1, 1.0)) fig -save("line_colored_cbar.svg", fig); # hide \ No newline at end of file +save("line_colored_cbar.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/lines/line_xylog.jl b/examples/2d/lines/line_xylog.jl index 986e967d..085a7407 100644 --- a/examples/2d/lines/line_xylog.jl +++ b/examples/2d/lines/line_xylog.jl @@ -1,9 +1,9 @@ # ## x and y log scales -# ![](line_xylog.svg) +# ![](line_xylog.png) using CairoMakie, Random -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide Random.seed!(123) x = 0.001:0.05:10 @@ -13,6 +13,5 @@ lines(x, y, color=:navy, figure=(size=(600, 400),), xgridstyle=:dash, ygridstyle=:dash, xminorticksvisible=true, xminorticks=IntervalsBetween(9), yminorticksvisible=true, yminorticks=IntervalsBetween(9))) -current_figure() -save("line_xylog.svg", current_figure()); # hide \ No newline at end of file +save("line_xylog.png", current_figure()); # hide \ No newline at end of file diff --git a/examples/2d/scatters/bubble_plot_logxy.jl b/examples/2d/scatters/bubble_plot_logxy.jl index 162e55a5..73fe0d01 100644 --- a/examples/2d/scatters/bubble_plot_logxy.jl +++ b/examples/2d/scatters/bubble_plot_logxy.jl @@ -1,9 +1,9 @@ # ## bubble plot: scatters in x and y log scale -# ![](bubble_plot_logxy.svg) +# ![](bubble_plot_logxy.png) using CairoMakie, Random, Colors -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide Random.seed!(123) x = 10 .^ (range(-1, stop=1, length=100)) @@ -30,4 +30,4 @@ fig, ax, pltpbj = scatter(x, y; markersize=(x .^ 2/3)[end:-1:1] .+ 6, Colorbar(fig[1, 2], pltpbj) ylims!(ax, 1e-1, 1e2) fig -save("bubble_plot_logxy.svg", fig); # hide \ No newline at end of file +save("bubble_plot_logxy.png", fig); # hide \ No newline at end of file diff --git a/examples/2d/scatters/scatter.jl b/examples/2d/scatters/scatter.jl index eae3a32d..8a22634d 100644 --- a/examples/2d/scatters/scatter.jl +++ b/examples/2d/scatters/scatter.jl @@ -20,8 +20,6 @@ scatter(rand(d,n), rand(b, n); ), figure = (; size = (600,400),) - ) - -save("scatter.svg", current_figure()); # hide + ) -# ![](scatter.svg) \ No newline at end of file +save("scatter.svg", current_figure()); # hide diff --git a/examples/datavis/candlestick.jl b/examples/datavis/candlestick.jl new file mode 100644 index 00000000..8f630e63 --- /dev/null +++ b/examples/datavis/candlestick.jl @@ -0,0 +1,36 @@ +# ## candlestick + +# ![](candlestick.png) + +using CairoMakie, Random, TimeSeries, MarketData, Dates +CairoMakie.activate!() # hide + +tempo = string.(timestamp(ohlc)) +lentime = length(tempo) +slice_dates = range(1,lentime, step = lentime÷20) + +colors = values(ohlc.Close) .> values(ohlc.Open) +lowV = values(ohlc.Low) +highV = values(ohlc.High) +linesegs = [] +for i in 1:lentime + push!(linesegs, Point2f(i, lowV[i])) + push!(linesegs, Point2f(i, highV[i])) +end +linesegs = Point2f.(linesegs) +cmap = ["#f64325", "#78f518"] +with_theme(theme_dark()) do + fig = Figure(; size = (1200, 700), font = "sans", fontsize = 20) + ax = Axis(fig; ygridcolor = "#65866b", + xgridcolor = "#65866b", xgridstyle=:dash, ygridstyle=:dash) + barplot!(ax, 1:lentime, values(ohlc.Open), fillto = values(ohlc.Close), + color = colors,strokewidth = 0.5, strokecolor = colors, colormap = cmap) + linesegments!(ax, linesegs, color = colors, colormap = cmap) + xlims!(ax, 200, 300) + ylims!(ax, 13,24) + ax.xticks = (slice_dates, tempo[slice_dates]) + ax.xticklabelrotation = π/4 + fig[1,1] = ax + fig +end +save("candlestick.png", current_figure(), px_per_unit = 2.0); # hide \ No newline at end of file From 700034a356bbdfd00699c985644b4ca5903e7728 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 20 Jun 2024 22:19:45 +0200 Subject: [PATCH 6/7] more fixes --- .github/workflows/Deploy.yml | 8 +-- docs/Project.toml | 3 + docs/gen_mds.jl | 14 ++-- docs/make.jl | 3 +- docs/src/index.md | 2 +- examples/2d/histogram/hist_alpha.jl | 3 + examples/2d/lines/line_time.jl | 11 +-- examples/2d/poly/poly_strokes.jl | 15 +++++ examples/2d/scatters/makie_contributors.jl | 4 +- examples/aog/gapminder.jl | 9 ++- examples/aog/penguins.jl | 1 - examples/aog/textScatterLines.jl | 12 ++-- examples/dashboards/colorschemes.jl | 4 +- examples/dashboards/matcap.jl | 8 +-- .../tesseral_spherical_harmonics.jl | 4 +- examples/geo/blue_marble.jl | 7 +- examples/geo/donut_earth_sun.jl | 2 - examples/geo/moon.jl | 2 - examples/rpr/sphere_plane.jl | 67 +++++++++---------- 19 files changed, 93 insertions(+), 86 deletions(-) create mode 100644 examples/2d/histogram/hist_alpha.jl create mode 100644 examples/2d/poly/poly_strokes.jl diff --git a/.github/workflows/Deploy.yml b/.github/workflows/Deploy.yml index 0aaff9b3..a7b4add7 100644 --- a/.github/workflows/Deploy.yml +++ b/.github/workflows/Deploy.yml @@ -44,7 +44,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: npm # or pnpm / yarn cache-dependency-path: 'package-lock.json' # this should be a package-lock.json file - name: Setup Pages @@ -54,7 +54,7 @@ jobs: - name: Install documentation dependencies run: sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev - name: Install documentation dependencies - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs -e 'using Pkg; pkg"add https://github.com/LuxDL/DocumenterVitepress.jl.git"; Pkg.instantiate(); Pkg.precompile()' + run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs -e 'using Pkg; Pkg.instantiate(); Pkg.precompile()' - name: generating examples md files env: RASTERDATASOURCES_PATH: ".." # For downloading raster data @@ -66,11 +66,11 @@ jobs: - name: Build with VitePress run: | NODE_OPTIONS=--max-old-space-size=32768 npm run docs:build # or pnpm docs:build / yarn docs:build / bun run docs:build - touch docs/docs_site/.vitepress/dist/.nojekyll + touch docs/docs_site/.documenter/.vitepress/dist/.nojekyll - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: - path: docs/docs_site/.vitepress/dist + path: docs/docs_site/.documenter/.vitepress/dist # Deployment job deploy: diff --git a/docs/Project.toml b/docs/Project.toml index 64eef261..2321c9aa 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,4 +1,5 @@ [deps] +AlgebraOfGraphics = "cbdf2221-f076-402e-a563-3d30da359d67" ArchGDAL = "c9ce4bd3-c3d5-55b8-8973-c0e20141b8c3" AssociatedLegendrePolynomials = "2119f1ac-fb78-50f5-8cc0-dda848ebdb19" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" @@ -17,6 +18,7 @@ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" GDAL = "add2ef01-049f-52c4-9ee2-e494f65e021a" GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a" GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" +GeoMakie = "db073c08-6b98-4ee5-b6a4-5efafb3259c6" GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" GitHub = "bc5e4493-9b4d-5f90-b8aa-2b2bcaad7a26" Gumbo = "708ec375-b3d6-5a57-a7ce-8257bf98657a" @@ -36,6 +38,7 @@ Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" RasterDataSources = "3cb90ccd-e1b6-4867-9617-4276c8b2ca36" +Rasters = "a3a2b9e3-a471-40c9-b274-f788e487c689" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb" diff --git a/docs/gen_mds.jl b/docs/gen_mds.jl index 1115e234..859dcce2 100644 --- a/docs/gen_mds.jl +++ b/docs/gen_mds.jl @@ -6,7 +6,7 @@ OUTPUT = joinpath(@__DIR__, "src", "examples") folders = readdir(joinpath(@__DIR__, "..", "examples")) setdiff!(folders, [".DS_Store"]) -setdiff!(folders, ["rpr", "aog", "geo"]) +#folders = ["aog", "dashboards", "geo", "rpr"] function get_files(folders) srcsfiles = [] @@ -16,17 +16,13 @@ function get_files(folders) names = readdir(p) setdiff!(names, [".DS_Store", "world_energy.jl", - "gapminder.jl", "gott_azimuthal.jl", - "density_ridges.jl", + "earthquakes_proj.jl", "rasters.jl", - "penguins.jl", - "penguins3d.jl", - "penguinsAoG.jl", - "penguinsBoxes.jl", - "penguinsViolins.jl", "submarine_cables.jl", - "earthquakes_proj.jl", + "textScatterLines.jl", + "gott_azimuthal.jl", + "us_states.jl", ]) fpaths = "$(f)/" .* names diff --git a/docs/make.jl b/docs/make.jl index 259f499c..018df66e 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -3,7 +3,8 @@ using Documenter include("theme_light_dark.jl") set_theme!(merge(theme_latexfonts(), theme_light_dark())) -# ENV["RASTERDATASOURCES_PATH"] = "/Users/lalonso/data/" +ENV["RASTERDATASOURCES_PATH"] = "/Users/lalonso/data/" +ENV["DATADEPS_ALWAYS_ACCEPT"] = "true" makedocs(; sitename="BeautifulMakie", authors="Lazaro Alonso", clean=true, diff --git a/docs/src/index.md b/docs/src/index.md index 8df675cf..1dc0e1dd 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -45,7 +45,7 @@ const images = [ src: 'streamplot.png', }, { - href: 'examples/3d/contour3d', + href: 'examples/3d/contour3d/contourf_contour3d', src: 'contourf_contour3d.png', }, { diff --git a/examples/2d/histogram/hist_alpha.jl b/examples/2d/histogram/hist_alpha.jl new file mode 100644 index 00000000..8b1f519b --- /dev/null +++ b/examples/2d/histogram/hist_alpha.jl @@ -0,0 +1,3 @@ +using GLMakie + +# hist(rand(1000); alpha = 0.5) \ No newline at end of file diff --git a/examples/2d/lines/line_time.jl b/examples/2d/lines/line_time.jl index 44fbbc56..a81ac0fd 100644 --- a/examples/2d/lines/line_time.jl +++ b/examples/2d/lines/line_time.jl @@ -7,16 +7,11 @@ CairoMakie.activate!(type = "svg") #hide ## dummy data dates = Date(2018, 1, 1):Day(1):Date(2018, 12, 31) ta = TimeArray(dates, rand(length(dates))) -vals = 0.5 * values(ta) -tempo = string.(timestamp(ta)) -lentime = length(tempo) -slice_dates = range(1, lentime, step=lentime ÷ 8) fig = Figure(size=(600, 400), fonts=(;regular = "sans")) ax = Axis(fig[1, 1], xlabel="Date", ylabel="value") -line1 = lines!(ax, 1:lentime, vals; color=:black, linewidth=0.85) -ax.xticks = (slice_dates, tempo[slice_dates]) -ax.xticklabelrotation = π / 4 -ax.xticklabelalign = (:right, :center) +line1 = lines!(ax, timestamp(ta), values(ta); color=:black, linewidth=0.85) +# ax.xticklabelrotation = π / 4 +# ax.xticklabelalign = (:right, :center) fig save("line_time.svg", fig); # hide \ No newline at end of file diff --git a/examples/2d/poly/poly_strokes.jl b/examples/2d/poly/poly_strokes.jl new file mode 100644 index 00000000..36e7e3e6 --- /dev/null +++ b/examples/2d/poly/poly_strokes.jl @@ -0,0 +1,15 @@ +using GLMakie + +f = Figure() +Axis(f[1, 1]) + +# vector of shapes +poly!( + [Rect(i, j, 0.75, 0.5) for i in 1:5 for j in 1:3], + color = :white, + strokewidth = 2, + strokecolor = 1:15, + strokecolormap=:plasma, +) +f + diff --git a/examples/2d/scatters/makie_contributors.jl b/examples/2d/scatters/makie_contributors.jl index 94702158..75cb8cda 100644 --- a/examples/2d/scatters/makie_contributors.jl +++ b/examples/2d/scatters/makie_contributors.jl @@ -41,6 +41,4 @@ function plotcontributors(avatars) end fig = plotcontributors(avatars) -save("makie_contributors.png", fig); # hide - -# ![](makie_contributors.png) \ No newline at end of file +save("makie_contributors.png", fig); # hide \ No newline at end of file diff --git a/examples/aog/gapminder.jl b/examples/aog/gapminder.jl index a75f966a..5cb0acc1 100644 --- a/examples/aog/gapminder.jl +++ b/examples/aog/gapminder.jl @@ -11,13 +11,16 @@ gapminder = Downloads.download(basepath*"gapminder-health-income.csv"); df = DataFrame(CSV.File(gapminder)); # selecting and plotting -colors = cgrad(:cividis, size(df,1), categorical=true) +colors = cgrad(:Hiroshige, size(df,1), categorical=true) p = data(df) * mapping(:income, :health, color = :country =>(t -> string(t)), markersize =:population => (t-> 8 + 70t/maximum(df.population))) * visual(Scatter) -draw(p, axis=(xscale=log10,), palettes=(color=colors,)) -save("gapminder.png", current_figure()); # hide +f = Figure() +draw!(f, p, axis=(xscale=log10,), palettes=(color=colors,)) +f + +save("gapminder.png", f); # hide # ![](gapminder.png) \ No newline at end of file diff --git a/examples/aog/penguins.jl b/examples/aog/penguins.jl index a52bf223..973fc43c 100644 --- a/examples/aog/penguins.jl +++ b/examples/aog/penguins.jl @@ -1,7 +1,6 @@ using CairoMakie, PalmerPenguins, DataFrames using GLM: lm, @formula, predict CairoMakie.activate!(type = "svg") #hide - function getPenguins() ## ENV["DATADEPS_ALWAYS_ACCEPT"] = "true" penguins = dropmissing(DataFrame(PalmerPenguins.load())) diff --git a/examples/aog/textScatterLines.jl b/examples/aog/textScatterLines.jl index 06d89089..ae51ee32 100644 --- a/examples/aog/textScatterLines.jl +++ b/examples/aog/textScatterLines.jl @@ -1,6 +1,6 @@ using AlgebraOfGraphics, CairoMakie using Random, DataFrames -CairoMakie.activate!(type = "svg") #hide +CairoMakie.activate!(type = "png") #hide Random.seed!(134) ## from this [post](https://discourse.julialang.org/t/how-to-make-this-plot-in-julia/75065/22). @@ -8,11 +8,13 @@ d = DataFrame(name = repeat(["A","B","C","D","E","F"], inner=4), time=repeat([0,1,3,6], outer=6), value = rand(24)); pSL = data(d) -pSL *= mapping(:time, :value, color = :name, text = :name => verbatim) -pSL *= visual(ScatterLines) + visual(Makie.Text, align = (:center, :bottom)) +pSL *= mapping(:time, :value, color = :name, #text = :name => verbatim # now is not working :( + ) +pSL *= visual(ScatterLines) # + visual(Makie.Text, align = (:center, :bottom)) with_theme(theme_ggplot2(), size = (600,400)) do draw(pSL) end -save("textScatterLines.svg", current_figure()); # hide -# ![](textScatterLines.svg) \ No newline at end of file +save("textScatterLines.png", current_figure()); # hide + +# ![](textScatterLines.png) \ No newline at end of file diff --git a/examples/dashboards/colorschemes.jl b/examples/dashboards/colorschemes.jl index be59c575..c908f098 100644 --- a/examples/dashboards/colorschemes.jl +++ b/examples/dashboards/colorschemes.jl @@ -25,9 +25,9 @@ function plotVolColormaps(; rseed = 123) elevation = π / 9 ) volume!(ax, xs, ys, zs, A; colormap = cmap, transparency = true, colorrange = (0,5)) - fig[0, 1] = GLMakie.Label(fig, @lift("Colormap: $(cs[$cmapIdx])"), fontsize = 20, + fig[0, 1] = GLMakie.Label(fig, @lift("Colormap: $(cs[$cmapIdx]), id : $($cmapIdx)"), fontsize = 20, tellheight = true, tellwidth = false) - sl = Slider(fig[1, 2], range = 1:length(cs), startvalue = 380, horizontal = false) + sl = Slider(fig[1, 2], range = 1:length(cs), startvalue = 1021, horizontal = false) connect!(cmapIdx, sl.value) fig end diff --git a/examples/dashboards/matcap.jl b/examples/dashboards/matcap.jl index 732f21cf..7d2a69f6 100644 --- a/examples/dashboards/matcap.jl +++ b/examples/dashboards/matcap.jl @@ -18,10 +18,10 @@ Cone(; quality=10) = merge([ Makie._mantle(Point3f(0), Point3f(0, 0, 1), 0.5f0, 0.0f0, quality)]) cone = Cone() -brain = load(assetpath("brain.stl")) -matball = load(assetpath("matball_base.obj")) -matball_inner = load(assetpath("matball_inner.obj")) -matball_outer = load(assetpath("matball_outer.obj")) +brain = load(Makie.assetpath("brain.stl")) +matball = load(Makie.assetpath("matball_base.obj")) +matball_inner = load(Makie.assetpath("matball_inner.obj")) +matball_outer = load(Makie.assetpath("matball_outer.obj")) ## download more ids from here: ## https://raw.githubusercontent.com/MakieOrg/BeautifulMakie/main/data/ #ids = JSON.parsefile("matcapIds.json") diff --git a/examples/dashboards/tesseral_spherical_harmonics.jl b/examples/dashboards/tesseral_spherical_harmonics.jl index 340e2a7f..e339197f 100644 --- a/examples/dashboards/tesseral_spherical_harmonics.jl +++ b/examples/dashboards/tesseral_spherical_harmonics.jl @@ -29,7 +29,7 @@ cmap = "Hiroshige" with_theme(theme_dark()) do fig = Figure(size = (1200, 800)) menu = Menu(fig, options = ["Hiroshige", "Spectral_11", "diverging_bkr_55_10_c35_n256", - "diverging_cwm_80_100_c22_n256", ":diverging_gkr_60_10_c40_n256", + "diverging_cwm_80_100_c22_n256", "diverging_gkr_60_10_c40_n256", "diverging_linear_bjr_30_55_c53_n256", "diverging_protanopic_deuteranopic_bwy_60_95_c32_n256"]) Ygrid = lift(l, m) do l, m @@ -53,7 +53,7 @@ with_theme(theme_dark()) do pltobj1.colormap = s pltobj2.colormap = s end - sl = Slider(fig[end+1, 1:2], range = 1:30, startvalue = 2) + sl = Slider(fig[end+1, 1:2], range = 1:30, startvalue = 6) sl2 = Slider(fig[end+1, 1:2], range = @lift(-$(sl.value):1:$(sl.value))) connect!(l, sl.value) connect!(m, sl2.value) diff --git a/examples/geo/blue_marble.jl b/examples/geo/blue_marble.jl index 94b777f2..3767122a 100644 --- a/examples/geo/blue_marble.jl +++ b/examples/geo/blue_marble.jl @@ -15,17 +15,14 @@ x = [cos(φ) * sin(θ) for θ in θ, φ in φ] y = [sin(φ) * sin(θ) for θ in θ, φ in φ] z = [cos(θ) for θ in θ, φ in φ] -fig = Figure(size = (1200, 800), backgroundcolor = :grey80) +fig = Figure(size = (800, 600), backgroundcolor = :grey80) ax = LScene(fig[1, 1], show_axis = false) surface!(ax, x, y, z; color = earth_img, shading = NoShading, - lightposition = Vec3f(-2, -3, -3), - ambient = Vec3f(0.8, 0.8, 0.8), - backlight = 1.5f0, + backlight = 1.5f0 ) zoom!(ax.scene, cameracontrols(ax.scene), 0.65) GLMakie.rotate!(ax.scene, Vec3f(0, 0, 1), 3.0) -fig save("blue_marble.png", fig; update=false); # hide \ No newline at end of file diff --git a/examples/geo/donut_earth_sun.jl b/examples/geo/donut_earth_sun.jl index 6adaedfe..56553636 100644 --- a/examples/geo/donut_earth_sun.jl +++ b/examples/geo/donut_earth_sun.jl @@ -26,7 +26,6 @@ with_theme(theme_dark()) do fig, ax, = surface(x1, y1, z1; color = earth'[:,end:-1:1], shading = FastShading, - ambient = Vec3f(0.85, 0.85, 0.85), backlight = 1.5f0, axis=(; type=Axis3, @@ -39,7 +38,6 @@ with_theme(theme_dark()) do surface!(ax, x2, y2, z2; color = sun'[:,end:-1:1], shading = FastShading, - ambient = Vec3f(0.85, 0.85, 0.85), backlight = 1.5f0) hidedecorations!(ax; grid=false) fig diff --git a/examples/geo/moon.jl b/examples/geo/moon.jl index 2ac94c70..01e2152b 100644 --- a/examples/geo/moon.jl +++ b/examples/geo/moon.jl @@ -21,8 +21,6 @@ ax = Axis3(fig, aspect=:data, viewmode=:fitzoom, #perspectiveness = 0.5, surface!(ax, x, y, z; color=moon, shading = FastShading, - lightposition=Vec3f(-2, -3, -3), - ambient=Vec3f(0.8, 0.8, 0.8), backlight=1.5f0 ) hidedecorations!(ax) diff --git a/examples/rpr/sphere_plane.jl b/examples/rpr/sphere_plane.jl index 0db971c7..ead225cb 100644 --- a/examples/rpr/sphere_plane.jl +++ b/examples/rpr/sphere_plane.jl @@ -1,40 +1,39 @@ # !!! info # Transfering examples from here https://github.com/lazarusA/RPRMakieNotes -#= !!! -using GLMakie, GeometryBasics -using RPRMakie, RadeonProRender -using LinearAlgebra, Colors, FileIO - -## background/sky color -img = [colorant"grey90" for i in 1:1, j in 1:1] -## color as an array/image, hence a normal image also works - -lights = [EnvironmentLight(1.0, img'), PointLight(Vec3f(2,0,2.0), RGBf(8.0, 6.0, 5.0))] -## custom Tesselation over an Sphere -function SphereTess(; o=Point3f(0), r=1, tess=64) - return uv_normal_mesh(Tesselation(Sphere(o, r), tess)) -end -plane = Rect3f(Vec3f(-5,-2,-1.05), Vec3f(10,4,0.05)) - -## the actual figure -fig=Figure(; size=(900, 900)) -ax=LScene(fig[1, 1]; show_axis=false, scenekw=(;lights=lights)) -screen=RPRMakie.RPRScreen(size(ax.scene); plugin=RPR.Northstar, iterations=250) -matsys=screen.matsys -mesh!(ax, SphereTess(); color=RGB(0.082, 0.643, 0.918), - material=RPR.DiffuseMaterial(matsys)) -mesh!(ax, plane; color=:gainsboro, - material=RPR.DiffuseMaterial(matsys)) - -GLMakie.activate!() -zoom!(ax.scene, cameracontrols(ax.scene), 0.22) -display(fig) -context, task = RPRMakie.replace_scene_rpr!(ax.scene, screen) -nothing # avoid printing stuff into the repl -imageOut = colorbuffer(screen) -## save("SpherePlaneSky.png", imageOut) # save just screen scene. -=# + +# using GLMakie, GeometryBasics +# using RPRMakie, RadeonProRender +# using LinearAlgebra, Colors, FileIO + +# ## background/sky color +# img = [colorant"grey90" for i in 1:1, j in 1:1] +# ## color as an array/image, hence a normal image also works + +# lights = [EnvironmentLight(1.0, img'), PointLight(Vec3f(2,0,2.0), RGBf(8.0, 6.0, 5.0))] +# ## custom Tesselation over an Sphere +# function SphereTess(; o=Point3f(0), r=1, tess=64) +# return uv_normal_mesh(Tesselation(Sphere(o, r), tess)) +# end +# plane = Rect3f(Vec3f(-5,-2,-1.05), Vec3f(10,4,0.05)) + +# ## the actual figure +# fig=Figure(; size=(900, 900)) +# ax=LScene(fig[1, 1]; show_axis=false, scenekw=(;lights=lights)) +# screen=RPRMakie.RPRScreen(size(ax.scene); plugin=RPR.Northstar, iterations=250) +# matsys=screen.matsys +# mesh!(ax, SphereTess(); color=RGB(0.082, 0.643, 0.918), +# material=RPR.DiffuseMaterial(matsys)) +# mesh!(ax, plane; color=:gainsboro, +# material=RPR.DiffuseMaterial(matsys)) + +# GLMakie.activate!() +# zoom!(ax.scene, cameracontrols(ax.scene), 0.22) +# display(fig) +# context, task = RPRMakie.replace_scene_rpr!(ax.scene, screen) +# nothing # avoid printing stuff into the repl +# imageOut = colorbuffer(screen) +# ## save("SpherePlaneSky.png", imageOut) # save just screen scene. # ![](https://github.com/lazarusA/RPRMakieNotes/blob/main/imgs/sphere_plane_greysky.png) From dcc75fd1dee7d17f63c3163b74716e82bf4da970 Mon Sep 17 00:00:00 2001 From: Lazaro Alonso Date: Thu, 20 Jun 2024 22:21:49 +0200 Subject: [PATCH 7/7] no ENV --- docs/make.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index 018df66e..e1cdbd09 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -3,8 +3,8 @@ using Documenter include("theme_light_dark.jl") set_theme!(merge(theme_latexfonts(), theme_light_dark())) -ENV["RASTERDATASOURCES_PATH"] = "/Users/lalonso/data/" -ENV["DATADEPS_ALWAYS_ACCEPT"] = "true" +# ENV["RASTERDATASOURCES_PATH"] = "/Users/lalonso/data/" +# ENV["DATADEPS_ALWAYS_ACCEPT"] = "true" makedocs(; sitename="BeautifulMakie", authors="Lazaro Alonso", clean=true,