Browser lab sources

The browser lab combines Godot, the TTX bridge, independent C and C++ modules, GDScript and PocketFFT. The download below captures the project source used for this build, so it remains available as the repositories evolve. It includes the build rules, engine profile and browser checks.

The project source retains its MIT license. PocketFFT uses the BSD 3-clause license. The bundled notices cover the engine and its dependencies, alongside the licenses for TTX, the bridge and the FFT implementation.

Building this version

Use Emscripten 4.0.20 for the engine. The Bazel module pins that same SDK for the extension and provider modules, and fetches PocketFFT as a source dependency for both native and Web builds. From the Godot engine source, build a release template with the profile included in the lab:

scons platform=web target=template_release threads=no dlink_enabled=yes \
  lto=full optimize=size debug_symbols=no \
  profile=/path/to/lab/godot/gdextension/build/web_engine.py

From the lab's Godot repository, export using that template. The export tool stages a copy of the scene and supplies Web import paths without editing the native project.

tools/export-web.py \
  --template /path/to/godot.web.template_release.wasm32.nothreads.dlink.zip \
  --work-dir /path/to/work --output /path/to/export

Add --check to include the browser acceptance checks. Serve the export over HTTP, install the pinned Playwright package intests/web, and run node tests/web/check.mjs URL. That checks the real scene, foreign classes, retained image and scalar calls, and unavailable CUDA diagnostics.

Return to the lab