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

同梱の建物

リポジトリには八棟入っている。二室の最小例から、延床141,449㎡の双塔再開発まで、どれも koyu check が緑になる実物である。図が読めれば書けたことになる記法なので、実例は付録ではなく入口である。

八棟はおおむね難度順に並び、前の例の上に積み上がる。各頁は「この例が初めて示すもの」「代表的な抜粋」「投げる価値のある問いと、実際に返ってきた答え」からなる。

規模

原本レベル空間境界屋内床面積半屋外
two-rooms26行 / 1ファイル13332.40㎡
office110行 / 1ファイル31743419.84㎡
house89行 / 1ファイル (合成版 102行 / 5ファイル)3133192.75㎡73.24㎡
basement86行 / 1ファイル415491,242.08㎡
mansion192行 / 1ファイル111223322,366.40㎡162.16㎡
tower453行 / 9ファイル121785434,785.92㎡941.16㎡
complex646行 / 10ファイル224251,36431,606.24㎡
twin1,220行 / 11ファイル391,8085,973141,448.56㎡6,534.08㎡

空間数と境界数は koyu check が印字する合成後の数、床面積は koyu stats の合計、レベル数は koyu levels の行数である。この表の数字はすべて実際に走らせて得た。

npx tsx src/cli.ts check examples/twin/main.muro
✔ Consistent — 1808 spaces / 5973 boundaries
  Structural consistency only — architectural validity is what koyu validate says, separately

大きさは行数に比例しない

延床が4,300倍になっても、原本は47倍にしかならない。two-rooms の 32.40㎡ / 26行 と twin の 141,448.56㎡ / 1,220行を比べればそうなる。complex と tower の間ではもっと極端で、床面積 6.6 倍に対して原本は 1.43 倍である。

理由は記法の圧縮率ではない。複合建築は繰り返しでできているからで、レベルスパン (/B2..L19/) とstack が繰り返しを丸ごと畳む。complex のコアは地下2階から19階までの21レベル分が9行、ホテルの客室は帯13行から78室に展開される。

したがって原本の大きさは建物の大きさではなく設計判断の数に比例する。これは記法の性能ではなく、建築そのものの性質を写している。

LLMのコンテキストに載るかどうかも、そこで決まる。o200k_base で測ると two-rooms が 359トークン、tower の9ファイル合計が 8,574トークン、complex の10ファイル合計が 12,685トークン、twin の11ファイル合計が 26,630トークン。延床31,606㎡の一棟が、どのモデルの文脈にも丸ごと載る。同じ場面を IFC4 / IFCX で書いたときの実測は koyu と IFC の実測比較にある。

走らせる

八棟すべての整合を一度に確かめる。

npm run check:examples

一棟だけを見るなら、まず check、次に問いを投げる。

npx tsx src/cli.ts check examples/office.muro
npx tsx src/cli.ts stats examples/office.muro
npx tsx src/cli.ts doors examples/office.muro /L2/office /out
npx tsx src/cli.ts plan examples/office.muro -l L2 -o out/office-L2.svg

check が緑でも建物が使えるとは限らない。check が言うのは「書かれたものがデータとして矛盾していない」までである。建築的な判定は koyu validate が別に言う — 同梱の八棟はどれも validate も通る。

何から読むか

段階を追う例

examples/steps/ には、一室から二階建てまでを6段に分けた到達点が入っている。こちらは実例集ではなくチュートリアルの伴走ファイルなので、はじめの一歩から辿るのがよい。