Fix WebGL freeze and crash loop with safer boot and lighter shaders.

Guard canvas lifecycle to stop the fitCanvas TypeError loop, load a slim base shader first while the full genome program compiles in the background, and trim GPU-heavy paths so weak devices stay responsive.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonxlnx
2026-06-12 15:51:58 +02:00
parent e309bc71d6
commit 3c54400025
5 changed files with 273 additions and 179 deletions
+4 -3
View File
@@ -79,6 +79,7 @@
<div class="canvas-shell" id="canvas-shell">
<div class="canvas-boot" id="canvas-boot" aria-hidden="true"></div>
<canvas id="view"></canvas>
<div class="stage-error" id="stage-error" hidden></div>
</div>
</div>
<div class="stage-meta">
@@ -116,8 +117,8 @@
<div class="toast mono" id="toast" hidden></div>
<script src="js/palettes.js"></script>
<script src="js/shaders.js"></script>
<script src="js/engine.js"></script>
<script src="js/shaders.js?v=fix4"></script>
<script src="js/engine.js?v=fix4"></script>
<script src="js/gifenc.js"></script>
<script src="js/webmmux.js"></script>
<script src="js/zip.js"></script>
@@ -125,7 +126,7 @@
<script src="js/exporter.js"></script>
<script src="js/modals.js"></script>
<script src="js/ui.js"></script>
<script src="js/main.js"></script>
<script src="js/main.js?v=fix4"></script>
<script>
window.va = window.va || function () { (window.vaq = window.vaq || []).push(arguments); };
</script>