У Topaz два разных WASM product. Program web target генерируется из приложения командой topaz build; playground artifact — compiler/interpreter в WASM для check/run исходника в браузере. У них разные ABI, rebuild paths и trust boundaries.
Контракт и компоненты
--target web выдаёт raw-WASM package с JavaScript/TypeScript ABI glue. web-worker добавляет worker/client transport. Playground загружает topaz_wasm_bg.wasm, generated JS bindings и worker, предоставляя ограниченный check/run без native CLI.
Рабочий процесс
Для приложения выберите web или web-worker, изучите созданный пакет и подключите его документированный API. Для интерактивных экспериментов используйте песочницу. Эти результаты служат разным целям и не заменяют друг друга.
Текущая поддержка
Публичная песочница использует компилятор v5.6.0 и поддерживает редактирование, проверку, выполнение интерпретатором, вывод и диагностику. Сборки web и web-worker включают WASM и код интеграции JavaScript или TypeScript для выбранной цели.
Границы и ограничения
Playground не native CLI: он не обещает ambient filesystem, process, cargo или unrestricted network. Host behavior ограничен browser APIs и worker protocol. Playground smoke не доказывает каждый web app, а web-target test не доказывает compiler playground; нужны оба gate.
Справочник команд
topaz build main.tpz --target web --out-dir web-out
topaz build main.tpz --target web-worker --out-dir worker-out
node compiler/scripts/playground-smoke.mjs