loading

説明

アウトラインとマップ、二つの射影を持つメタテキストエディタ「Intertex」を開発しました。WorkflowyやDynalistのような無限階層のリストと、マインドマップのような平面。同じひとつの木を、リストとしても平面としても見られて、どちらから編集しても同じデータに落ちます。ブラウザで動き、PWAとしてホーム画面に入れればオフラインでも使えます。

https://intertex.app/

直接のきっかけは、連載中の『R.A.W. 戦走機械』の設定資料でした。各話のあらすじ、戦体の分類、企業と階級の構造、未決の論点——Dynalistで管理していた設定資料集をGoogle Docs側の設定と突き合わせて更新する作業をしていて、その途中で「もう自分用のエディタをつくったほうが早い」となった。最初に書いた依頼文は「Workflowy(Dynalist)のようなアウトライナーであり、かつ段落ごとにタグやメタテキストを設定でき、マインドマップやビジュアルプログラミングのように平面にも展開できる、メタテキストエディタみたいなものをつくりたい」。ほぼこの一文のままのものができています。

設計メモを書き始めたのが2026年8月15日で、翌16日には最初のv0が動いていました。以後の数日で怒涛の機能追加をして、いまのかたちはほぼ8月半ばの数日間でできています。名前は当初intertextでしたが、途中でIntertexに改名。設計のあいだは橋本麦さんとDiscordでgarden.oooなどのテキストエディタ談義をしていた時にお聞きした「ひとユーザーごとにドデカいアウトラインをひとつだけ作って、考えたい枝にズームすればいい」という話がずいぶん効いています。

最小単位は段落です。段落には本文のほかに、一段小さく添うメタテキスト、キーと値のメタ情報、色、マップ上の座標が従属します。タグ専用の入力欄はなくて、本文中に#で書いたものを自動で拾う。本文が単一の真実、という決めです。DynalistやWorkflowyの書き出しファイル(OPML)をそのまま読み込めるので、ぼくの設定資料集もDynalistからまるごと引っ越して、いまは10,000を超える段落になっています。

思想

IMAGONの記事で、最近のAIはぼくにとって「ツールを設計するための手段」と化している、と書きました。自分の制作環境のメタ・デザインを行い、そのオリジナルのツールの中でのびのび制作する。Intertexはその考えの、テキスト側での実践です。描くための道具の次は、書く・考えるための道具。今回もAIの仕事はツールをつくるところまでで、中に書かれる文章には一切かかわっていません。

名前はinter-(横断)+ textです。木構造というのは要するに正順のテキストで、上から下へ読めば一本の文書になる。けれど設定資料を書いていると、木としては別の枝どうしが、実際には互いを指し合っています。一話の伏線が七話の設定に繋がる、というような横断が、既存のアウトライナーにはうまく書けなかった。だからIntertexでは、木を越えてノード同士を繋ぐリンクを一級市民にしています。マップに出すと、木のエッジは薄い曲線、横断リンクは藍の破線と矢印で描き分けられる。ただしマップは俯瞰と接続のための場所で、本格的に書くのはあくまでアウトライン側です。必要なのは新しい入力方法ではなく、自分が何を書いたのかを別の角度から見せてくれる射影だと思っています。

道具としていちばん怖いのは機能不足ではなく、数年後に開かなくなることです。だからIntertexは依存ゼロで書きました。HTML・CSS・JSが各1枚、ビルドなし、フレームワークなし。index.htmlをダブルクリックすればfile://でも動きます。データはJSONで丸ごと書き出せて、Markdownなら文書ひとつが.mdファイルひとつ。横断リンクはObsidianのブロック識別子に写像してあるので、Obsidianと往復もできます。共有も、URLを発行して文書ごとに同期するだけの仕組みで、サーバー側は自前のPHP1枚とJSONファイルです。実は開発中に一度、自分のlocalStorageが消えて文書が飛びました。JSONバックアップから復元できたからよかったものの、書き出しやフォルダ連携をしつこく重視しているのはこの経験と地続きです。囲い込みたくないというより、自分がいちばん囲い込まれたくない。

それから、日本語で書くための道具なので、IME対応が何よりも優先です。変換確定のEnterで段落が割れない。編集中の行はタグ装飾を外してプレーンテキストにする、という割り切りも、キャレットと変換の安定を優先した結果です。ここができていないと、日本語の原稿には使えない。

引っ越してきた設定資料は、いまも伸び続けています。どの枝とどの枝が繋がるのか、書いているぼく自身、マップに出してみるまで分かりません。