--- name: godot-platform-web description: "Expert blueprint for web/browser platforms (HTML5 export) covering WebGL/WebGPU rendering, custom loading screens, JavaScriptBridge integration, LocalStorage saves, and size optimization. Use when exporting to web or implementing browser-specific features. Keywords web, HTML5, WebGL, WebGPU, JavaScriptBridge, localStorage, canvas, browser API." --- # Platform: Web Browser API integration, LocalStorage persistence, and size optimization define web deployment. ## Available Scripts ### [web_bridge_sync.gd](scripts/web_bridge_sync.gd) Expert JavaScriptBridge helpers for browser API integration (persistence, analytics). ## NEVER Do in Web Development - **NEVER use FileAccess for saves** — `FileAccess.open("user://save.dat")` on web? Browser sandbox blocks filesystem. Use JavaScriptBridge + localStorage. - **NEVER forget loading screen** — 20MB wasm download with default load screen = user closes tab. MUST customize index.html with progress bar + brand assets. - **NEVER use threads** — `Thread.new()` on web? Not supported. Use `await` for async OR split work across frames with `await get_tree().process_frame`. - **NEVER ignore HTTPS requirement** — Geolocation, microphone, webcam APIs REQUIRE HTTPS. Local `http://` = APIs blocked. Use `localhost` OR HTTPS. - **NEVER exceed 50MB build size** — 100MB WebAssembly = user rage-quits during load. Compress textures (ETC2/ASTC), exclude unused assets. - **NEVER hardcode window size** — `get_viewport().size = Vector2(1920, 1080)` on web? Breaks mobile browsers. Use `get_window().size_changed` + responsive UI. --- ```html
Loading...