Skip to main content

基本

ありません。入力した内容は常にブラウザ内へ反映されています。Ctrl+S は保存ではなく、そのときの内容を履歴に1世代刻む操作です。
ローカルワークスペースだけを使うなら不要です。Google ログインが必要なのはクラウドワークスペースメンバーとの共同編集Remote MCP です。 一時共有のゲストはログイン不要です。
使えません。ページを開くこと自体にネットワークが必要です。ただし、開いたあとに接続が切れても本文の編集は続けられ、接続が戻ったときに同期されます。 クラウドワークスペースのファイル作成・削除・移動だけは、 切断中はできません。
できません。現在は日本語のみです。

データが心配

ローカルワークスペースは消えます。 ブラウザのサイトデータとして保存されているためです。定期的に zip でバックアップを取ってください。 端末を越えて残したい場合はクラウドワークスペースを使ってください。
2つの方法があります。
  • zip で移すFile > Export Zip... で保存し、別の端末で「Zip をインポート」します。 ファイル履歴は移りません。
  • クラウドワークスペースにする — 同じ Google アカウントでログインすれば、 そのまま別の端末から開けます。
詳しくは zip でバックアップ・移行するクラウドワークスペースを参照してください。
仕様です。ファイル履歴はその端末の中だけにあります。 zip にも入らず、ワークスペースを複製しても消えます。端末を越えて残したい場合はクラウド世代を使ってください。 クラウド世代はワークスペース全体の復元点で、サーバー側に保存されます。
クラウド世代からなら復元できます。 ファイル履歴からは戻せません (ファイルの中身しか持っていないためです)。復元されたファイルは新しいファイルとして作られるので、削除前の履歴は引き継がれません。

旧バージョンから

旧公開版のデータの救出画面です。新しいバージョンは旧バージョンの保存データを読めません。 消えてしまう前にバックアップを取ってもらうため、通常の起動より先に表示しています。バックアップを保存して「新版を開く」を押すか、旧データを削除すると先へ進めます。
バックアップの保存を確認するまで、旧データの削除や「全データを初期化」を行わないでください。
旧データが残っている限り、リロードのたびに表示されます。 「読んだ」という記録を持たないためです。あとで忘れられてデータが失われるのを防いでいます。バックアップを保存し、内容を確認したうえで「旧データを削除」まで行えば表示されなくなります。
外側の zip はインポートできません。 取り込めるのは中の code.zip だけです。zip を PC などで解凍し、中の code.zip を「Zip をインポート」から開いてください。
使えません。自動変換もしません。救出バックアップの designs/ に旧形式の JSON として保存されるので、 必要であれば AI などを使って手動で新形式へ変換してください。
AI サービスへ渡す前に、コードや JSON に秘密にすべき情報が含まれていないか確認してください。

動かない・出ない

同じワークスペースを別のタブでも開いています。 後から開いたタブが読み取り専用になります。他のタブを閉じてからリロードしてください。 違うワークスペースを2つのタブで開く分には、両方とも編集できます。
ワークスペースを開いた直後は空です。 解析に必要なものを読み込み終えてから最初のリントが走るので、少し遅れて埋まります。何か編集すれば即座に走ります。
タブが隠れて30秒経つと、Lua の実行を自動で止めます。 モバイルで電池を消費し続けるのを防ぐためです。戻ってくると自動で再開し、1回だけ通知が出ます。 自分で止めたものが勝手に動き出すことはありません。同期は止まりません。止まるのはこの端末の実行だけです。
接続が切れている可能性があります。 切断中はファイルの作成・削除・移動ができません。複数の端末が同時に別々のツリー操作をすると矛盾するため、 サーバーが順番を決める必要があるためです。本文の編集は続けられます。容量の上限に達している場合もあります。その場合は明示的にその旨が表示されます。
Problems に warning が出ていないか確認してください。次の3つはデバッグ実行では動くのに、実機では動かないものです。
  • sw-unavailable-global — Stormworks には存在しない Lua 標準機能
  • input-outside-ontickinputonTick の中でのみ使える
  • output-outside-ontickoutputonTick の中でのみ使える
詳しくは診断とエラーコードを参照してください。

require と minify

トップレベルの文として、次の2つの形だけが使えます。
関数や if の中には書けません。引数は文字列リテラルのみです。 式の一部にもできません。詳しくは require とミニファイを参照してください。
.lua のファイル名とフォルダ名は Lua 識別子 ([A-Za-z_][A-Za-z0-9_]*) に限られます。パスと require のキーを常に1対1に対応させるための制約です。 .lua 以外のファイルには制約はありません。詳しくはパスとモジュールキーを参照してください。
sim.* 標準ライブラリの名前空間と衝突するためです。ファイルとしての sim.lua はどの階層にも置けます (require の対象外です)。

AI について

ありません。AI が関わるのは エラーの解説とファイル履歴の自動命名の2つだけです。Remote MCP は推論を行わず、 利用中の外部エージェントへ Storm Code の操作手段を渡す機能です。
この2つの機能が送るものは、既定で学習に使いません。 サーバー側で学習の対象外として固定されており、設定の切り替えに依存しません。ただし、学習に使わないことと、記録が残らないことは別です。 送信内容は、障害の調査・不正利用への対処・品質改善のための記録として保持されます。詳しくは プライバシーポリシー利用規約 を参照してください。
ありません。使うモデルやプロンプトはすべてサーバー側にあります。

報告

不具合や説明の不足は、Storm Code の フィードバック から報告できます。