anthops
2025-04-23 7d49dff0747f69e96ab83a98b97ece96d4268b36
quartz/components/scripts/graph.inline.ts
@@ -68,6 +68,15 @@
  stop: () => void
}
async function determineGraphicsAPI(): Promise<"webgpu" | "webgl"> {
  const adapter = await navigator.gpu?.requestAdapter().catch(() => null)
  if (!adapter) {
    return "webgl"
  }
  // Devices with WebGPU but no float32-blendable feature fail to render the graph
  return adapter.features.has("float32-blendable") ? "webgpu" : "webgl"
}
async function renderGraph(graph: HTMLElement, fullSlug: FullSlug) {
  const slug = simplifySlug(fullSlug)
  const visited = getVisited()
@@ -349,6 +358,7 @@
  tweens.forEach((tween) => tween.stop())
  tweens.clear()
  const pixiPreference = await determineGraphicsAPI()
  const app = new Application()
  await app.init({
    width,
@@ -357,7 +367,7 @@
    autoStart: false,
    autoDensity: true,
    backgroundAlpha: 0,
    preference: "webgpu",
    preference: pixiPreference,
    resolution: window.devicePixelRatio,
    eventMode: "static",
  })