Skip to main content

.lua のファイル名とフォルダ名

Lua 識別子だけが使えます。
使えるもの: util lib pid_controller _internal nav2 使えないもの: my-lib (ハイフン) 2d (数字始まり) ライブラリ (非 ASCII) my lib (空白) この制約があるおかげで、パスと require のキーが常に1対1で対応します。 区切りは . だけです。大文字と小文字は区別されます。 require の文字列とキーは完全一致で照合されます。変換や補完は行いません。
もしハイフンなどを許すと、a/b.luaa.b.lua が同じキーになりうるため、 どちらを読むべきか決められなくなります。文法の段階でこの曖昧さを消しています。

扱える拡張子

.lua 以外に Lua 識別子の制約が無いのは、require の対象ではないためです。
画像は本文を持ちません。そのため通常の新規作成では作れず、画像として追加する必要があります。 同じ理由で、画像とそれ以外を入れ替えるような名前変更も拒否されます。

予約されている名前

Design が作る仮想モジュール

Design は、次の形のモジュールキーを生成します。
これらは実ファイルと衝突できません。 ファイルや Design の作成・名前変更、パーツのキー変更のいずれでも、衝突する操作は拒否されます。

sim.lua のカスケード

対象のファイルからルートへ向かってフォルダを遡り、途中にある sim.lua を集めます。 Stormworks のビークル / マイクロコントローラーのような3段構造はありません。

.scode の中身

.scode 配下は緩い検証で扱われ、.lua の命名の制約は適用されません。