コンテンツにスキップ

仕様書 2026.06 (ドラフト)

Cairn の正規仕様です。AI が Minecraft の建築物を読み書きするための中間言語で、NBT/SNBT の非効率 さ (バイナリ、1 ブロック 1 レコード) を回避し、建築知識 (壁、屋根、対称性) をボクセル世界と揃えます。 アプローチは generation-first であり、したがって意図的に lossy です。

# 章 内容
1 目的とスコープ 目的、スコープ、非目標
2 設計原則 P1–P5
3 アーキテクチャ 三層 IR、block-array ピボット
4 コンパイルモデル フェーズ評価、ターゲット軸、屋根の立体化
5 構文 字句規則、key=value、セレクタ、ヘッダ
6 ブロックステート 導出と上書き、intent と resolved、waterlogged
7 マテリアルとテーマ スロット、正準語彙、テーマ
8 エンティティ 二段のエンティティモデル、アンカー規約
9 コンポーネント・編集・複数建築 def、編集、site
10 バージョンとエディション ターゲット戦略、ロック、可搬性
11 Lint 診断コードと制約検証
12 エコシステム連携 インポート、逆方向変換
13 評価フレームワーク 仕様をどう反復するか
14 レッドストーン 論理回路
15 未決事項 まだ決まっていないこと
— 互換性ティア 公開面ごとの Stable / Evolving / Internal
— 用語集 章をまたぐ定義語
  • 要求水準語 MUST / SHOULD / MUST NOT / OPTIONAL は RFC 2119 の意味で使います。
  • 言語名は Cairn、CLI は cairn、ソースファイルは .crn です。
  • 設計原則は P1–P5 で参照します (設計原則)。

Cairn 自身のリリースは日付ベースバージョニング (CalVer) YYYY.M[.PATCH] です。月次リリースなら 2026.7、月内パッチなら 2026.7.1 で、文字列として時系列順にソートされます。1 リリースは言語仕様、 リファレンスコンパイラ、標準ライブラリ、(edition, version) のレジストリ/制約カタログのバンドルです。

Minecraft も日付ベースバージョンに移行した ため、両者をフォーマットで見分けることはできません。 形ではなく、フィールド / フラグ / キーワードで区別します。

Cairn 自身のバージョン Minecraft ターゲット
ロック cairn_version mc_version
ヘッダ @cairn @requires / @intended_targets
CLI cairn --version --target

文中で曖昧になる場合は接頭辞を付けます (cairn:2026.06 と mc:1.21.4)。

本ドキュメントは 2026.6 (ドラフト) で、旧 v0.2 ラベルを置き換えます。.crn ファイルは @cairn 2026.06 (それが書かれた対象の言語バージョン) を宣言してもかまいません。将来のコンパイラが正 しくパース/警告できるようにするための provenance であり、それだけです。だからこそ、どのパスも分岐に 使わない値でありながら CalVer として読めることは検査されます (構文 §5.3)。