From adf1341ead516d69d6649585e8a960dc285e89cd Mon Sep 17 00:00:00 2001 From: anon Date: Fri, 19 Jun 2026 21:36:38 +0200 Subject: [PATCH 1/2] docs(gallery): add "Speeding up rendering" tutorial card MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the gallery card + thumbnail for the new rendering-performance tutorial and advances the docs/notebooks submodule to the commit that introduces it. Depends on scverse/spatialdata-plot-notebooks#8 — the submodule pointer here references that PR's head commit so the docs build/preview renders the new tutorial. Once #8 merges, the pointer should be advanced to notebooks `main`. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/_static/gallery/performance.png | Bin 0 -> 31733 bytes docs/gallery.md | 10 ++++++++++ docs/notebooks | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 docs/_static/gallery/performance.png diff --git a/docs/_static/gallery/performance.png b/docs/_static/gallery/performance.png new file mode 100644 index 0000000000000000000000000000000000000000..db2a4c3dc1923e989cc87348e5b79218e34a4fa4 GIT binary patch literal 31733 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 V2kj^=!GRk|QBFm+RL1b_e*>m{%BTPU literal 0 HcmV?d00001 diff --git a/docs/gallery.md b/docs/gallery.md index 014cc416..16d41d2b 100644 --- a/docs/gallery.md +++ b/docs/gallery.md @@ -34,6 +34,16 @@ perceptually well-spaced or colourblind-safe palettes with `make_palette` and `make_palette_from_data`. ::: +:::{grid-item-card} Speeding up rendering +:link: notebooks/tutorials/performance +:link-type: doc +:img-top: _static/gallery/performance.png + +Keep rendering fast on large data: automatic rasterization and scale +selection for images, and the `datashader` backend for large collections +of shapes and points. +::: + :::: ## Examples diff --git a/docs/notebooks b/docs/notebooks index d8911216..413b9c36 160000 --- a/docs/notebooks +++ b/docs/notebooks @@ -1 +1 @@ -Subproject commit d89112165483e7748c225866ed946f41bc785efe +Subproject commit 413b9c368781cdaf268ce6c71ca803a9f28fae44 From c8f3590f98124edbaef31c83c2202c7ace92ddb6 Mon Sep 17 00:00:00 2001 From: anon Date: Fri, 19 Jun 2026 21:42:52 +0200 Subject: [PATCH 2/2] Point docs/notebooks submodule to main (performance tutorial merged) scverse/spatialdata-plot-notebooks#8 is merged, so the tutorial is on main. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/notebooks | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notebooks b/docs/notebooks index 413b9c36..05b0f515 160000 --- a/docs/notebooks +++ b/docs/notebooks @@ -1 +1 @@ -Subproject commit 413b9c368781cdaf268ce6c71ca803a9f28fae44 +Subproject commit 05b0f515192f21c0eb4b00304b7d342035ea9200