master
John Lauer 1.1.13: balanced grouped 2-column, 15 mm icon lane, body-centred designators, stroke_mm; widget gains a parity-tested JS engine for CSP-blocked wasm 47c81ac 1mo ago
#!/bin/bash
# Build the browser generator (sym_gen -> wasm32) and bake it into the widget
# script: widget/adom-symbol-variants.js = widget/widget.src.js + base64 wasm.
set -euo pipefail
cd "$(dirname "$0")"
cargo build --release --target wasm32-unknown-unknown
python3 - <<'PY'
import base64
wasm = open('target/wasm32-unknown-unknown/release/adom_symbol_wasm.wasm', 'rb').read()
b64 = base64.b64encode(wasm).decode()
src = open('../widget/widget.src.js').read()
assert '__WASM_B64__' in src
ver = open('../VERSION').read().strip()
symgen = open('../widget/symgen.js').read()
out = src.replace('__WASM_B64__', b64).replace('__VERSION__', ver).replace('/*__SYMGEN_JS__*/', symgen)
open('../widget/adom-symbol-variants.js', 'w').write(out)
print('widget/adom-symbol-variants.js', len(out), 'bytes (wasm', len(wasm), ')')
PY