From d5ea531fd94eef6b330f72d9b190836d3354a374 Mon Sep 17 00:00:00 2001 From: fOuttaMyPaint Date: Fri, 3 Jul 2026 15:47:19 -0400 Subject: [PATCH] fix: real install steps + depsgraph-export joins the gallery The live landing page told visitors to install from a Cursor Extensions marketplace listing that does not exist; installSteps now describe the actual clone/copy consumption flow for Cursor and Claude Code. The depsgraph-export example was the only one of four missing from the gallery: adds a 1280x720 studio hero (rendered headless on Blender 5.1.1, base cube vs subsurf-evaluated twin, matching the other heroes), the gallery.json entry, and the regenerated gallery page. Also ignores the local site-upgrade planning doc. Co-Authored-By: Claude Fable 5 --- .gitignore | 3 +++ docs/gallery/assets/depsgraph-export-hero.webp | Bin 0 -> 7458 bytes docs/gallery/index.html | 11 +++++++++++ examples/gallery.json | 8 ++++++++ site.json | 7 ++++--- 5 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 docs/gallery/assets/depsgraph-export-hero.webp diff --git a/.gitignore b/.gitignore index 1fd20c0..5762f77 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,9 @@ Thumbs.db Desktop.ini ehthumbs.db +# Local planning docs (not published) +docs/site-upgrade-plan.md + # Build artifacts dist/ build/ diff --git a/docs/gallery/assets/depsgraph-export-hero.webp b/docs/gallery/assets/depsgraph-export-hero.webp new file mode 100644 index 0000000000000000000000000000000000000000..72533610142eb9faa0569315a5ce07427421dcd3 GIT binary patch literal 7458 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 literal 0 HcmV?d00001 diff --git a/docs/gallery/index.html b/docs/gallery/index.html index f062b4e..43ec4eb 100644 --- a/docs/gallery/index.html +++ b/docs/gallery/index.html @@ -149,6 +149,17 @@

View example +
+ + depsgraph-export — The depsgraph lifetime contract — evaluated_get() + +
+

depsgraph-export

+

The depsgraph lifetime contract — evaluated_get().to_mesh() paired with to_mesh_clear() — measured against an OBJ export of the same object.

+

witnesses Exports ship evaluated geometry: the exported vertex count equals the subsurf-applied count and is strictly greater than the base mesh.

+ View example +
+