revert(graph): roll back changes due to issues with Safari (#2067)
* chore: remove unused dependency * fix(graph): rolled back webgpu changes
This commit is contained in:
		
							
								
								
									
										1
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -14,7 +14,6 @@
 | 
				
			|||||||
        "@myriaddreamin/rehype-typst": "^0.6.0",
 | 
					        "@myriaddreamin/rehype-typst": "^0.6.0",
 | 
				
			||||||
        "@napi-rs/simple-git": "0.1.21",
 | 
					        "@napi-rs/simple-git": "0.1.21",
 | 
				
			||||||
        "@tweenjs/tween.js": "^25.0.0",
 | 
					        "@tweenjs/tween.js": "^25.0.0",
 | 
				
			||||||
        "@webgpu/types": "^0.1.64",
 | 
					 | 
				
			||||||
        "ansi-truncate": "^1.2.0",
 | 
					        "ansi-truncate": "^1.2.0",
 | 
				
			||||||
        "async-mutex": "^0.5.0",
 | 
					        "async-mutex": "^0.5.0",
 | 
				
			||||||
        "chokidar": "^4.0.3",
 | 
					        "chokidar": "^4.0.3",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,7 +40,6 @@
 | 
				
			|||||||
    "@myriaddreamin/rehype-typst": "^0.6.0",
 | 
					    "@myriaddreamin/rehype-typst": "^0.6.0",
 | 
				
			||||||
    "@napi-rs/simple-git": "0.1.21",
 | 
					    "@napi-rs/simple-git": "0.1.21",
 | 
				
			||||||
    "@tweenjs/tween.js": "^25.0.0",
 | 
					    "@tweenjs/tween.js": "^25.0.0",
 | 
				
			||||||
    "@webgpu/types": "^0.1.64",
 | 
					 | 
				
			||||||
    "ansi-truncate": "^1.2.0",
 | 
					    "ansi-truncate": "^1.2.0",
 | 
				
			||||||
    "async-mutex": "^0.5.0",
 | 
					    "async-mutex": "^0.5.0",
 | 
				
			||||||
    "chokidar": "^4.0.3",
 | 
					    "chokidar": "^4.0.3",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,30 +68,6 @@ type TweenNode = {
 | 
				
			|||||||
  stop: () => void
 | 
					  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) {
 | 
					async function renderGraph(graph: HTMLElement, fullSlug: FullSlug) {
 | 
				
			||||||
  const slug = simplifySlug(fullSlug)
 | 
					  const slug = simplifySlug(fullSlug)
 | 
				
			||||||
  const visited = getVisited()
 | 
					  const visited = getVisited()
 | 
				
			||||||
@@ -373,7 +349,6 @@ async function renderGraph(graph: HTMLElement, fullSlug: FullSlug) {
 | 
				
			|||||||
  tweens.forEach((tween) => tween.stop())
 | 
					  tweens.forEach((tween) => tween.stop())
 | 
				
			||||||
  tweens.clear()
 | 
					  tweens.clear()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const pixiPreference = await determineGraphicsAPI()
 | 
					 | 
				
			||||||
  const app = new Application()
 | 
					  const app = new Application()
 | 
				
			||||||
  await app.init({
 | 
					  await app.init({
 | 
				
			||||||
    width,
 | 
					    width,
 | 
				
			||||||
@@ -382,7 +357,7 @@ async function renderGraph(graph: HTMLElement, fullSlug: FullSlug) {
 | 
				
			|||||||
    autoStart: false,
 | 
					    autoStart: false,
 | 
				
			||||||
    autoDensity: true,
 | 
					    autoDensity: true,
 | 
				
			||||||
    backgroundAlpha: 0,
 | 
					    backgroundAlpha: 0,
 | 
				
			||||||
    preference: pixiPreference,
 | 
					    preference: "webgpu",
 | 
				
			||||||
    resolution: window.devicePixelRatio,
 | 
					    resolution: window.devicePixelRatio,
 | 
				
			||||||
    eventMode: "static",
 | 
					    eventMode: "static",
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user