1# GoAT WebAssembly build23This is a narrow host wrapper around upstream `github.com/blampe/goat` v0.5.1.4The upstream parser, ASCII/UTF-8 geometry, SVG writer, and embedded CSS remain5the source of truth. TinyGo is used only to produce a Workers-compatible6`wasm-unknown` module; the browser-facing adapter owns request validation and7copies the returned SVG from linear memory. It calls `beginRender` before8allocating source/options; the wrapper retains those buffers through the9render call so TinyGo's garbage collector cannot invalidate host-owned10pointers.1112Build from Docker with the pinned TinyGo image in `provenance.md`:1314```sh15docker run --rm -e GOFLAGS='-buildvcs=false -mod=vendor' \16 -v "$PWD:/src" -w /src/renderers/edge/toolchains/goat \17 tinygo/tinygo:0.39.0 \18 tinygo build -scheduler=none -target wasm-unknown \19 -o ../../artifacts/goat/goat.wasm .20```