書かなかったとき何が起きるか
書かないことは意味を持つ。そして意味は三つに分かれる。
| 沈黙の種類 | 起きること | 例 |
|---|---|---|
| 既定が入る | 書かなかった値の代わりに、決まった値か決まった規則が使われる | type: を書かない境界は wall になる |
| 要素が生まれない | 値を捏造せず、その要素を作らない。形は定まるが痩せる | slab: の無い階には床が一枚も生成されない (SUF03 警告) |
| 止まる | 一意な形を作るのに必要な情報が欠けている | 天井高がどこにも無ければ SUF01 エラー |
既定値を捏造して先へ進むことはしない。だから同じ構成からは常に同じ形が出る。ただし形が痩せたことは必ず知らされる。
この頁は既定の唯一の表である。値の書き方は 属性の三層、位置の綴りは 位置と領域、方位の既定は 方位と a 側 にある。
最小のファイル
koyu 1.0
grid X 0 3600
grid Y 0 4000
level L1 0 h:2400 slab:150
space /L1/a room X1..X2 Y1..Y2
この5行で check は緑になり、平面図が描かれる。残りはすべて既定である — 名前も無く、外部も無く、境界も一本も宣言されていない。
基盤の宣言
| 書かなければ | どうなるか |
|---|---|
koyu <版> | 最新版 1.0 の意味論で読まれる。意味を固定したいなら書く → 版の宣言 |
unit mm | mm。v0 は mm しか持たない |
name | 建物名を持たない |
grid X / grid Y | 通り参照が一つも書けない。領域を持つ行は Undefined grid line name で止まる |
level | 領域を持つ空間のレベルが決まらず SUF02 (エラー) |
level の h: | その階の空間は自分の h: が無ければ天井高が決まらず SUF01 (エラー)。天井も屋根も生成できない |
level の slab: | その階の床が一枚も生成されない。SUF03 (警告) — 形は定まるので止まらない |
level の underground: | 地上階として扱われる。z の負値からは推定しない |
level の pitch: | 範囲宣言 (L4..L10) では必須。単一のレベルには書けない |
space
| 書かなければ | どうなるか |
|---|---|
| 領域 | 領域を持たない空間になる。面積にも柱にも床にも現れない — exterior や集約のための空間はこれでよい |
level: | パスの先頭セグメントがレベル名ならそのレベル。名前が合わなければ SUF02 (エラー) |
h: | 所属レベルの h:。どちらも無ければ SUF01 (エラー) |
daylight: | 採光の問いの対象外。型からは推定されない — room と書いても ldk と書いても対象にならない |
ceiling: | 天井は室の輪郭 × 天井高として導かれる。ceiling:0 で張らない |
use: | 最も深いゾーン祖先の use を継承する。ゾーンにも無ければ集計の軸を持たない |
road: | 道路ではない。接道長に幅員を与えない |
uid: | パスが同一性である。改名すれば対応は切れる |
stair: ramp: escalator: lift: | 縦動線ではない。ただの空間 |
floor: spec: | 運ばれる値が無いだけ |
boundary
接する空間の既定は壁である。
| 書かなければ | どうなるか |
|---|---|
同一レベルで平面が接する組への boundary | wall の既定境界が導かれる。扉を持たないので通れない。機械形式には現れない |
| 上下に重なる空間の間の垂直境界 | 床である。通れない。stair / shaft / void は例外として宣言する |
領域を持たない空間 (外部など) との boundary | 何も導かれない。そこに壁は無く、外皮に穴が空く — koyu validate の envelope.gap が言う |
type: | wall |
t: | 描画と立体の既定は 100mm。air:1 の境界は 60mm (上限 80mm) |
air: | 遮る物として扱う |
edge: | その境界のすべての線分。開口や seg を置くときは辺が一つに定まらなければ OPN05 / SEG05 |
h: (air:1 のとき) | 天端 1100mm |
spec: fire: sound: | 運ばれる値が無いだけ |
宣言がその組に一つでもあれば既定境界は導かれない。edge: で一辺だけを宣言した場合も同じで、残りの辺には壁が導かれない。
door / window
| 書かなければ | どうなるか |
|---|---|
w: | エラー。幅は必須である (アセットが与えてもよい) |
at: | 比率 0.5 — 線分の中央。線分に収まるようクランプされる |
hinge: | 線分の始端側 (水平の線分は西端、垂直の線分は南端)。斜めの線分では始端に固定 |
swing: | a が領域を持てば a 側、でなければ b 側へ開く |
style: | hinged (開き戸) |
h: (扉) | 床からまぐさ高 2000mm まで立ち上がる |
h: (扉以外) | 高さ 1200mm。頭はまぐさ高 2000mm に揃う |
name: | 名を持たない。合成の集合編集で指せなくなる — = window W1 の指す先が無い |
| 扉を一枚も書かない | 通れない。check は緑のままである |
sill: を書かなくても窓台の高さは決まる — 頭を揃えた結果として出る。sill: は運搬層なので、書いても形は変わらない。
column
| 書かなければ | どうなるか |
|---|---|
d: | 一辺と同じ (角柱) |
x: / y: | すべての通り。そのレベルに床のある交点すべてに立つ |
name: | drop column で指せなくなる |
同じ交点に二本は立たない — 先に書かれた宣言が勝つ。
縦動線
段数も踏面も勾配も書かれない。書かれるのは領域と向きだけで、残りは階高から導かれる。
| 書かなければ | 既定 |
|---|---|
form: | straight (折返さない) |
turn: | R (踊り場で右へ回る) |
entry: | 乗り込みの床の奥行 1100mm |
riser: | 蹴上げの上限 180mm — 段数がここから決まる |
tread: | 目標踏面 300mm — 踊り場を残余として決めるときに使われる |
landing: | 導出される (最小 1100mm)。書けば踏面が残余になる |
lane: | エスカレーター一台の呼び幅 1200mm — 台数がここから決まる |
slope: | 許容勾配の上限を宣言していないので、勾配は咎められない。エスカレーターだけは常用域から外れれば run.slope が言う |
zone / polygon / band
| 書かなければ | どうなるか |
|---|---|
zone の site: | 敷地の集約ではない。koyu site の対象にならない |
zone の area: | 導出面積と照合する測量値が無い |
polygon | 敷地面積は敷地内の空間と屋内の投影の合併から導かれる。敷地境界線も描かれない |
band の w:rest | 閉じた帯である。全要素の寸法の合計が帯の幅と一致しなければエラー — 図面の「部分寸法の合計 = 総寸法」と同じ検算である |
導出の定数
これは台帳の既定ではない。台帳が定めるのは「何を書いてよいか」であり、ここが定めるのは「書かれなかったときに何を導くか」である。書けば必ず書いた値が勝つ。
| 定数 | 値 | 何を決めるか |
|---|---|---|
| 壁厚 | 100 mm | t: の無い壁。芯線に対して両側へ半分ずつ |
| 遮蔽しない境界の厚み | 60 mm | air:1 の境界の t: の既定 |
| 同・上限 | 80 mm | t: に何を書いてもここで頭打ち |
| 同・天端高 | 1100 mm | air:1 の境界の h: の既定 |
| まぐさ高 | 2000 mm | 扉はここまで立ち上がり、それ以外はここから下がる |
| 扉以外の開口の高さ | 1200 mm | 開口の h: の既定 |
| 天井の見付け厚 | 30 mm | |
| 屋根版の厚さ | 200 mm | 最上階で天井高の上へ載せる量でもある |
| 平面の切断面 | FL + 1200 mm | 平面図がどの高さで切るか |
| 蹴上げの上限 | 180 mm | riser: の既定 |
| 目標踏面 | 300 mm | tread: の既定 |
| 中間踊り場の最小奥行 | 1100 mm | 書かれた landing: もここまで引き上げられる |
| 乗り込みの床の奥行 | 1100 mm | entry: の既定 |
| エスカレーター一台の呼び幅 | 1200 mm | lane: の既定 |
| 段板の見付け厚 | 200 mm | 立体 |
| 踊り場・傾いた版の厚さ | 200 mm | |
| 平面のエスカレーターの段の刻み | 400 mm |
緑は「建物として成立している」ではない
接する空間の既定が壁である以上、扉を一枚も宣言しない二階建ては緑のまま完全に密封される。
koyu 1.0
grid X 0 3600
grid Y 0 4000
level L1 0 h:2400 slab:150
level L2 2900 h:2400 slab:150
space /L1/a room X1..X2 Y1..Y2
space /L2/a room X1..X2 Y1..Y2
space /out exterior
boundary /L1/a /out t:150
boundary /L2/a /out t:150
✔ Consistent — 3 spaces / 2 boundaries
Structural consistency only — architectural validity is what koyu validate says, separately
これに扉が無いことを言うのは別の面である (位置の接頭辞は解決済みの絶対パスで出る — 下では途中を省いてある)。
✖ [access.unreachable] …/sealed.muro:line 6: Cannot reach the exterior: /L1/a (no passable boundary leads out — write a door)
✖ [access.unreachable] …/sealed.muro:line 7: Cannot reach the exterior: /L2/a (no passable boundary leads out — write a door)
Validation — 2 violations / 0 cautions
check が言うのは「書かれたものがデータとして矛盾していない」までである。緑を根拠に「動く」と主張しない。