Releases: Stormcat-Works/storm-lua-engine
Release list
Storm Lua Engine v0.2.0
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版・全入力の実ゲーム互換性を証明するものではありません。対応範囲とホスト側の責務はガイドを確認してください。
Storm Lua Engine v0.1.0
Storm Lua Engine 0.1.0
RustとTypeScript/WebAssemblyから利用できる、Stormworks向けLua実行ライブラリの初回リリースです。
主な機能
- Lua 5.3のビークル/Addon実行、Composite I/O、プロパティ、イベント、savedata。
- CPU描画、同梱ビットマップフォント、Luaを含まない描画専用WASM。
- ブレークポイント、ステップ実行、変数・テーブル検査、watch、ログ。
- Addonのserver関数、地図プロバイダー、HTTP要求・返信のホスト接続。
- Three.jsとCodeMirrorでホスト実装を試せるAddon Lab。
ワールド、物理、地形、実際のネットワーク通信、実行タイミングはホスト側が提供します。対応範囲と制約は利用ガイドを参照してください。
インストール
JavaScript/TypeScriptは、添付のstormcat-works-storm-lua-engine-0.1.0.tgzをダウンロードし、npm install ./stormcat-works-storm-lua-engine-0.1.0.tgzで導入できます。WASM・型定義・必要な権利表示を同梱し、runtime npm依存はありません。
Rustは、例えばstorm-lua-addon = { git = "https://github.com/Stormcat-Works/storm-lua-engine", tag = "v0.1.0" }をCargo.tomlへ追加してください。他の製品クレートも同じタグで利用できます。
Addon Labはstorm-lua-engine-addon-lab-0.1.0.zipを展開し、静的HTTPサーバーで配信してください。Rustやビルドツールなしで実行できます。ZIP内のREADME.txtに起動例があります。
検証
公開commitのCIは、Native Linux/Windows/macOSとWASMの4ジョブすべて成功しています。
731件の固定RGBAケースを直接描画と実Lua経路で検査し、Chromium・Firefox・WebKitで本体機能とAddon Labのデスクトップ/モバイル操作を実行しました。梱包済みnpm packageは独立環境へoffline installしてconsumer例を実行しています。
release-verification.jsonにcommit、CI結果、テスト数、ブラウザと配布物の情報を、SHA256SUMSに配布ファイルのSHA256を記録しています。実ゲームの新規観察や、記載していないプラットフォームでの実測を意味するものではありません。