From efddd798e83705b0e17e074fe344b2d491051ba2 Mon Sep 17 00:00:00 2001
From: Emile Bangma <github@emilebangma.com>
Date: Wed, 30 Jul 2025 16:43:36 +0000
Subject: [PATCH] revert(graph): roll back changes due to issues with Safari (#2067)

---
 package-lock.json                         |    1 -
 package.json                              |    1 -
 quartz/components/scripts/graph.inline.ts |   27 +--------------------------
 3 files changed, 1 insertions(+), 28 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 47c3d11..df6a813 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,6 @@
         "@myriaddreamin/rehype-typst": "^0.6.0",
         "@napi-rs/simple-git": "0.1.21",
         "@tweenjs/tween.js": "^25.0.0",
-        "@webgpu/types": "^0.1.64",
         "ansi-truncate": "^1.2.0",
         "async-mutex": "^0.5.0",
         "chokidar": "^4.0.3",
diff --git a/package.json b/package.json
index d83c9ac..13ecad3 100644
--- a/package.json
+++ b/package.json
@@ -40,7 +40,6 @@
     "@myriaddreamin/rehype-typst": "^0.6.0",
     "@napi-rs/simple-git": "0.1.21",
     "@tweenjs/tween.js": "^25.0.0",
-    "@webgpu/types": "^0.1.64",
     "ansi-truncate": "^1.2.0",
     "async-mutex": "^0.5.0",
     "chokidar": "^4.0.3",
diff --git a/quartz/components/scripts/graph.inline.ts b/quartz/components/scripts/graph.inline.ts
index 9c8ec60..a669b05 100644
--- a/quartz/components/scripts/graph.inline.ts
+++ b/quartz/components/scripts/graph.inline.ts
@@ -68,30 +68,6 @@
   stop: () => void
 }
 
-// workaround for pixijs webgpu issue: https://github.com/pixijs/pixijs/issues/11389
-async function determineGraphicsAPI(): Promise<"webgpu" | "webgl"> {
-  const adapter = await navigator.gpu?.requestAdapter().catch(() => null)
-  const device = adapter && (await adapter.requestDevice().catch(() => null))
-  if (!device) {
-    return "webgl"
-  }
-
-  const canvas = document.createElement("canvas")
-  const gl =
-    (canvas.getContext("webgl2") as WebGL2RenderingContext | null) ??
-    (canvas.getContext("webgl") as WebGLRenderingContext | null)
-
-  // we have to return webgl so pixijs automatically falls back to canvas
-  if (!gl) {
-    return "webgl"
-  }
-
-  const webglMaxTextures = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS)
-  const webgpuMaxTextures = device.limits.maxSampledTexturesPerShaderStage
-
-  return webglMaxTextures === webgpuMaxTextures ? "webgpu" : "webgl"
-}
-
 async function renderGraph(graph: HTMLElement, fullSlug: FullSlug) {
   const slug = simplifySlug(fullSlug)
   const visited = getVisited()
@@ -373,7 +349,6 @@
   tweens.forEach((tween) => tween.stop())
   tweens.clear()
 
-  const pixiPreference = await determineGraphicsAPI()
   const app = new Application()
   await app.init({
     width,
@@ -382,7 +357,7 @@
     autoStart: false,
     autoDensity: true,
     backgroundAlpha: 0,
-    preference: pixiPreference,
+    preference: "webgpu",
     resolution: window.devicePixelRatio,
     eventMode: "static",
   })

--
Gitblit v1.10.0