メインコンテンツまでスキップ

koyu — 建築をテキストで書く

koyu は建築をテキストで書く記法 (.muro) と、その処理系である。

空間が一次要素である。壁は物ではなく、二つの空間のあいだの境界という関係である。開口は、その境界に切られた接続である。書かれるのは空間の領域と境界の関係だけで、平面図も面積も動線も書かれない — 導出される。

一室はこう書く。4行で、これで完結したファイルである。

grid X 0 3600
grid Y 0 4000
level L1 0 h:2400 slab:150
space /L1/a room X1..X2 Y1..Y2
koyu plan first.muro -o first.svg

一室だけの平面図。通り芯 X1 X2 Y1 Y2 と、淡い色の矩形が一つ。壁は一本も描かれていない

壁が一本も描かれていない。空間はあるが、境界が一つも無いからである。

space を1行足す。ほかは何も変えない。

grid X 0 3600 5400
grid Y 0 4000
level L1 0 h:2400 slab:150
space /L1/a room X1..X2 Y1..Y2
space /L1/b room X2..X3 Y1..Y2

二室の平面図。X2通り芯の上に黒い帯が一本立ち、二つの室を分けている

壁が現れた。壁を描く操作はこの記法のどこにも無い。壁は二つの空間の境界関係であり、空間の割付から導かれる。接する空間の組に境界の宣言が一つも無ければ、それは「未定義」ではなく「壁」を意味する。

解像度は基本設計の粒度である。梁下がりをモデル化しないのは欠落ではなく、選んだ抽象の高さである — BIM が重すぎた設計初期こそ、この記法の居場所である。建物一棟が数百行のテキストに収まるので、建築が git と LLM と同じ地面に乗る。

どこから読むか

あなたが行き先
koyu を触ったことがないはじめての .muro — 一室から二階建て一棟まで、30〜45分
まず手元で動かしたいkoyu を入れる — npm から、あるいはソースから
なぜこの形なのかを知りたい解説 — 空間が一次であること、壁が関係であること、緑が何を意味しないか
やることが決まっている手順 — 階を足す住戸を室に割るエージェントに書かせる
記法の一語を引きたい.muro の全構文koyu コマンド診断コード索引
プログラムやエージェントから使いたいプログラムから建物を読むTypeScript APIkoyu-mcp

二つの問いは別である

koyu check書かれた構成がデータとして整合しているかを言う。それだけである。扉を一枚も宣言しない二階建ては、完全に密封されたまま緑で通る。

建築的な妥当性は koyu validate が別に言い、動線は koyu doors、採光は koyu light が答える。この線引きは約束の範囲にある。緑を根拠に「この建物は動く」と主張してはいけない — その落とし穴はチュートリアルの第5段で実際に踏んでみせる。

名前

戸牖 (koyu) は戸と窓、すなわち開口を指す。老子・第十一章 — 戸牖を鑿ちて以て室と為す、其の無に当たりて室の用有り。室を使えるものにしているのは壁ではなく、そこに空いている空間である。空間が一次で、壁が関係で、開口が境界に切られた接続であるような記法にとって、これより古い出典は無い。同音の「固有」も掛けてある — すべての空間は人が読める固有の名、その階層パスで指される。

拡張子は .muro (室)。ファイルが持つ単位は部材ではなく部屋である。