Skip to content

Storm Lua Engine v0.2.0

Latest

Choose a tag to compare

@makkiilikecat makkiilikecat released this 27 Sep 05:29
· 2 commits to main since this release

Storm Lua Engine v0.2.0

Luaの実行・描画基盤に、Vehicle向けCompiler SDK、環境プロファイル、開発用のソース読み込み、確認用Playgroundを統合しました。Storm MinのCLI/Webは独立したツールとして維持します。

主な追加

  • storm-lua-syntax / analysis / minify / buildによる解析、lint、マルチファイルの静的リンク、minify。
  • TypeScriptの/compilerと/compiler-worker、実行用とは独立したコンパイラWASM。
  • 任意のホスト値・同期関数を追加・置換するbindings。
  • extended専用のrequireLoader。LB方式のinclude-once、名前付きチャンク、読み込み先のデバッグに対応。
  • 非短縮Source Mapを利用した元ファイルのブレークポイント・step・エラー位置の検証例。
  • Storm Lua Engine: PlaygroundのCLI/Web。13種類の確認例でSDKの機能と制約を試せます。

更新時の注意

  • 既定はgameです。debug.logは利用できますが、pcall / xpcall / error / print / assert / グローバルunpackはextendedへ分離しました。onLogを設定するだけでLuaの関数が増えることはありません。
  • Vehicleのreset()は、正常完了したすべてのloadを元の順番で再実行します。Addonは初回の入口を一度loadする契約を維持します。
  • _ENVや拡張環境・ホスト置換を含むコードは、名前・リテラル・行番号を保持する字句短縮を選びます。外部グローバルを未定義の短名やnilへ変換する問題を修正しました。
  • 既定無効だった4パスを撤去しました。未知・廃止済みIDはfalse指定でもエラーにします。
  • Addon Labは削除し、必要な確認をPlaygroundへ移しました。仮物理・3Dワールドは移していません。
  • コンパイラはVehicle専用です。最適化後のSource Mapはこの版に含まれません。

変更ガイド / 導入 / Playground

配布

TypeScript/JavaScriptはnpm install @stormcat-works/storm-lua-engine@0.2.0で導入できます。添付tarballにはJS・型定義・3系統のWASMと権利表示を含みます。RustはGitタグv0.2.0から必要なクレートを指定します。

Playground ZIPは静的Webです。LuaはブラウザWorker内で実行し、サーバーへのコード送信を必要としません。CLIはリポジトリのapp/から利用する確認用CLIです。

検証

対象コミットは22592de08cfaadfc5696da001add1634149ba2ccです。Linux / Windows / macOSのNativeおよびWASM・3ブラウザ・Playgroundを含む公開前CIが成功しました。

添付した同じSDK tarballを隔離環境へインストールし、実行・描画・コンパイル・開発用require・ソースマップによる停止とエラー位置の確認を実行しています。release-verification.jsonに対象とハッシュを、SHA256SUMSに添付ファイルの検査値を記録しています。

これらはSDKの検証であり、全Stormworks版・全入力の実ゲーム互換性を証明するものではありません。対応範囲とホスト側の責務はガイドを確認してください。