4.21.0 — 開けないファイルは OS に渡す。表計算をクリックしても壊れなくなりました

4.21.0(2026-09-12 リリース)時点のスナップショットです。 アプリが進めば古くなります —— それは 想定どおりで、最新の内容は各節がリンクしているガイド本体を見てください。

npx mulmoterminal@latest

手が要るものが 2 つあり、1 つ目はすでに起きているかもしれない破損の話です。残りは新機能か、 このバージョンにするだけで直るものです。

まず: Files ペインがファイルを壊していませんか

このリリースまで、Files ペインでテキストでないファイル(.xlsx / .png / .zip / PDF など)を クリックすると、UTF-8 としてテキストエディタに読み込んでいました。UTF-8 として不正なバイトは 読み込みの時点で U+FFFD(置換文字)になるので、何も打つ前からエディタは壊れた複製を持っていて、 Save を押すとそれが元のファイルに上書きされます。

壊れるのは読んだ瞬間です。だから静かでした —— Excel で開かなくなるまで、何も変に見えません。

調べ方

たいてい極端に小さくなります。実例では 4.9 MB の .xlsx が 336 バイトになり、zip として 開けなくなっていました。

  • git リポジトリの中なら git status に modified として出て、git diff --stat でサイズの 崩壊が見えます。git checkout -- <file> で戻せます。
  • git の外なら、元の入手元(ダウンロード・共有・同僚)と比べてください。変更が最近なら OS のバックアップ(Time Machine / ファイル履歴)に古い複製があります。

戻せないもの

MulmoTerminal 自身のエディタ用バックアップでは戻りません。 理由を書いておくと、バックアップも 同じ UTF-8 の文字列から取っていたので、安全網のほうにも壊れた版が入っていました。このリリース からはそういうファイルではバックアップ自体を取りません(壊れた複製でストアが埋まらなくなります)が、 アップグレード前に取られたバックアップはあなたの表計算の複製ではありません。

これからどうなるか

ペインが this file cannot be edited as text と表示し、Open in OS ボタンを出します。押すと そのファイルを OS の既定のアプリに渡します。保存はどの経路からも拒否されます —— Ctrl/Cmd+S も、 サーバ側の書き込みルートもです。

参照: ターミナルの隣でファイルを編集する

次: 1 行に 2 文を書いた .shape ファイル

ShapeScript は上流アプリに寄せ続けています。今回から 1 行に 2 文を書くとパースエラーになりました。上流アプリはプロパティの引数を行末まで読むためです。

sphere { position 0 1 0 size 2 }     # 通っていたが、これからはパースエラー
sphere {
  position 0 1 0
  size 2
}

エラーはルールを名指しするので、当てずっぽうにはなりません。tau も無くなりました(2 * pi と 書いてください)。

4.20.0 でモデルを変換した方には同じ作業ですが、規模はずっと小さいです —— 1 行に詰めて書いた スクリプトだけが対象で、すでに 1 行 1 文で書かれているモデルは何もする必要がありません。

代わりに text "Hello" が本物のグリフ輪郭を描くようになりました。fill / extrude で カウンター(文字の内側の穴)付きの文字になり、text は .bounds を持つ値です。色付きポリゴン メッシュの USDZ 書き出しが白くなったり位置がずれたりする件も直っています。

新機能: ツリーからファイルを OS に渡す

Files ペインの行を右クリックしてください。ファイルなら Show in folder、ディレクトリなら Open this folder が出ます。

Files ペインの行メニュー。Show in folder が出ている

開くのはあなた自身のファイルマネージャで、フォルダを開くだけでなくそのファイルが選択された状態 になります。

環境 実行されるもの
macOS open -R —— Finder がフォルダを開き、ファイルが選択される
Windows explorer /select, —— エクスプローラーでファイルが選択される
Linux / WSL xdg-open 系で親ディレクトリ —— どれにも「選択して開く」動詞がない

最後の行はバグでも書きかけでもありません。xdg-open 系のオープナーにファイルを選択させる方法が 無いので、フォルダを開くのがその環境で可能なことの全部です。

参照: ターミナルの隣でファイルを編集する

新機能: ブラウザが表示できないファイルは既定のアプリで開く

ツリーの .docx や、ターミナルのファイルパスをクリックすると、これまではダウンロードされていました。 これからは OS の既定のアプリで開きます。しかもターミナルのリンク・ツリー・raw URL が同じ 1 つの ルールで判断するので、同じファイルについて 3 つが食い違うことはありません。

プレビューできないファイルを開いた Files ペイン。Open in OS が出ている

テキスト・Markdown・画像・PDF など、ブラウザが描けるものはこれまでどおりアプリの中で開きます。 タブで読んでいたものがデスクトップアプリに移ることはありません。

新機能: パスメニューに Actions

パスメニューの GitHub セクションに Actions が入りました。Repository / Issues / Pull requests の隣です。

パスメニュー。Pull requests の下に Actions がある

セルのディレクトリに GitHub のリモートがあるときだけ出ます。GitLab や、名前を決められない GitHub Enterprise のホストでは、404 になるリンクを出すのではなくセクションごと出ません。

7 行目が入ったことで、メニューがタイル表示のセルに収まらなくなる帯も見つかりました。セルの高さが 217〜243px(800px のウィンドウの 3x3 グリッドがちょうどここ)だと最下行が隠れます。メニューは セルとウィンドウの両方を見て配置し、どちらも足りなければスクロールするようになりました。

参照: パスメニュー

修正: 保存したファイルが自分の名前を保つ

アプリから配信されたファイルを保存すると raw.pdf / raw.png / raw.csv になっていました。 サーバがファイル名を伝えていなかったので、ブラウザが URL の最後の要素で名付けていたためです。 伝えるようにしました。PDF はこれまでどおりタブでプレビューされます。

修正: デッキの保存失敗が画面に出る

サーバに拒否されたデッキ編集は、これまで誰の目にも残りませんでした。エディタは編集内容を出し続ける ので(一時的な失敗で打鍵を失わないための意図的な設計です)、静かな拒否が成功とまったく同じに見え、 次のリロードで古い値が戻ってはじめて気づく形でした。サーバ自身の文言がタブ行の下に赤いバナーで 出るようになりました。

同じ更新で Canvas が stories の root を dispatch に載せるようになったので、以前のバージョンが 書いた「workspace 以外の root を持つデッキカード」も正しいファイルに保存されます。

参照: Mulmo メニューと Canvas

修正: [Mulmo] から選んだデッキが “Canvas is not enabled” に隠れる

render MCP を持たないディレクトリのセルで [Mulmo] メニューからデッキを選ぶと、Canvas が “Canvas is not enabled for this session” を出していました。デッキ自体は保存されていて、セルを 縮小してから拡大し直すしか見る方法がありませんでした。すぐ表示されます。

関連


This site uses Just the Docs, a documentation theme for Jekyll.