15. 未決事項
15.1 実装時に決める選択
Section titled “15.1 実装時に決める選択”provenance をどこに置くか。 .crn のヘッダか、ロックか。暫定方針は「.crn はヒントである
@intended_targets だけを持ち、verified のような記録はコンパイラがロックに書く」です
(バージョンとエディション)。
逆方向 IR の型。 縮退できる単一の IR にするか、Intent IR と Raw Geometry IR を別の型にするか。 暫定方針は「block-array 層は共有し、その上のメンバ層で型を分ける」です (アーキテクチャ)。
レガシー .schematic (1.13 以前) は v1 では未対応です。数値 ID のマッピングは、将来オプションと
して検討する余地があります。
15.2 手を付けていない話題
Section titled “15.2 手を付けていない話題”座標系。 角原点と front = +z を固定したままにするか、中心原点、入口相対の向き、
level id=floor2 y=4 のような階ごとのローカル y=0 を導入するか。
プリミティブの昇格。 寄棟・陸屋根・ピラミッド屋根、柱、アーチ、repeat などを意味プリミティブに
昇格させるか。判断は 評価フレームワーク の実験データに基づきます。
内装。 inside.front の接頭辞で足りるのか、より上位の room 概念が要るのか。また、家具を def
ライブラリで賄えるのか。
15.3 言語進化のポリシー
Section titled “15.3 言語進化のポリシー”Cairn が進化する中で破壊的変更をどう扱うかは未決です。選択肢は、Rust 流の「エディション」機構 (年単
位のオプトイン) か、CHANGELOG でリリースごとに告知するだけにするかです。ここでの「エディション」は既
に Java / Bedrock を指す語なので、別の用語が必要になります。当面は後者、すなわち CalVer と @cairn
の provenance で足ります。