Исходные файлы Topaz имеют расширение .tpz. Команда emit показывает сгенерированный код для проверки и интеграции, а build создаёт готовый пакет для выбранной цели. Сгенерированные Rust и Python являются заменяемыми деталями реализации, а не дополнительным синтаксисом Topaz или стабильным API для ручного редактирования.
Emit и build
topaz emit --target rust|python показывает исходный артефакт; emit без цели по-прежнему означает Rust. topaz build --target native|python|web|web-worker --out-dir <dir> создаёт продукт развёртывания. Совместимый путь нативного файла остаётся target/debug/program или target/release/program, но промежуточные файлы Cargo не сохраняются. Web-цели оставляют WASM и JavaScript/TypeScript, Python — program.py и topaz_py_rt.py.
Манифест и безопасность каталога
После успешной сборки последним записывается topaz-artifact.json. Для каждого управляемого файла он хранит относительный путь, SHA-256, размер и признак исполнения. Повторная сборка той же цели сначала проверяет эти данные. Смена цели, повреждённый манифест, изменённый файл или конфликт с пользовательским путём завершаются явной ошибкой. Неуправляемые файлы сохраняются.
Временное хранилище
Cargo работает только в закрытом временном каталоге с отключённым incremental. Каталог удаляется после успеха и ошибки; остаток после принудительной остановки удаляется следующим запуском только при наличии метки владельца Topaz. topaz storage status показывает такие каталоги, а topaz storage clean удаляет только неактивные. Topaz не сканирует и не очищает системные кэши Cargo или Python.
Сгенерированный Python отключает запись bytecode только на время импорта встроенного runtime и сразу восстанавливает настройку. Прямой запуск python program.py, -O и -OO не оставляет Topaz __pycache__.
Владение и лицензии
Официальные CLI, npm, расширение редактора, WASM, Playground и runtime распространяются по Apache-2.0 с нужными уведомлениями. Studio Haze Inc. — международное английское наименование компании 스튜디오헤이즈 주식회사; оба имени обозначают одного правообладателя. В нативном CLI доступны topaz license и topaz notice. Пользователь определяет лицензию и коммерческие условия для собственных .tpz, входных данных, результатов приложения и специфичного сгенерированного кода. Apache-2.0 не даёт прав на названия и логотипы Topaz.
Границы
Хэши идентифицируют локально установленные байты, но не доказывают воспроизводимость сборки или семантическую эквивалентность.