リポジトリ規約

以下は、Luna-Flow のドキュメント標準に加えて geometry3d が定めるルールです。

範囲

  • ドキュメントは、各パッケージの pkg.generated.mbti が示す現在のブランチのバージョンを説明します。JavaScript 専用のパッケージ(backend/canvas、backend/gsap、demo_canvas、demo_gsap)にはコミットされたインターフェースファイルがなく、その公開範囲は moon info --target js が報告するものです。
  • scene graph、material、texture、physics、BVH、asset loader など未実装の engine 機能は記述しません。

パッケージの境界

  • geometry core の説明に terminal、ANSI、TUI の詳細を混ぜません。
  • terminal y-scale、background pattern、character rasterization は backend/tui または demo に記述します。
  • ブラウザの DOM、Canvas、走査線、JS ターゲットの詳細は backend/canvas、backend/gsap、demo_canvas、demo_gsap に置きます。
  • パッケージの境界をまたぐ挙動を変更した場合は、影響を受けるすべてのパッケージの API、設計、チュートリアルのページを一緒に更新します。

実行ファイル

デモのパッケージは MoonBit の項目を公開しません。その API ページでは代わりにコマンドライン(demo)または HTML ページの取り決め(demo_canvas、demo_gsap)を記述します。

例

nocheck が付いていない moonbit ブロックはすべて現在のコードでコンパイルでき、inspect のスナップショットや text ブロックに示す出力は実際の出力でなければなりません。このリポジトリに依存する一時的なモジュールにブロックをコピーし、moon test を実行して確認します(ブラウザのページでは --target js を付けます)。