リポジトリ規約
以下は、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 を付けます)。