メインコンテンツへスキップ

カスタマイズと貢献

Mahiru約2分

カスタマイズと貢献

WebGAL ソースコードリポジトリ

https://github.com/OpenWebGAL/WebGALopen in new window

ブランチの説明

main: 安定版
dev: WebGAL 開発版
その他のブランチ: 過去のバージョンのアーカイブ

アップデート計画

WebGAL 情報 を参照してください

貢献者ガイド

WebGAL Terre ビジュアルエディターに貢献したい場合は、WebGAL Terre 貢献者ガイド を参照してください。

AI の使用について

AI はソフトウェア開発の方法を大きく変え、ソフトウェア開発の効率を大幅に向上させると同時に、多くの課題ももたらしました。UI の作成において、AI を使って広範囲に UI を作成すると「AI Slop」と呼ばれる問題が極めて発生しやすくなります。AI が作成した UI は人間の使用習慣に合致しないことが多く、時には無意味な説明テキストが含まれたり、レイアウト面でもオーバーフローやズレなどの問題が頻繁に発生します。また、AI がコードを作成する際、エラーを素早く修正するために大量の冗長なコードや「防御的プログラミング」コードを記述してしまいがちです。AI にとって、より簡潔で、読みやすく保守しやすいコードを作成することは依然として困難です。

WebGAL プロジェクトでは、AI の使用に関して以下の規約を定めています。コードを記述する際は、これらの規約を遵守してください。

  1. 人間がアーキテクチャと実装方針を設計し、AI が記述する。AI に直接目標を指示するだけで人間が設計に関与しないコーディング方法は受け入れられません。AI がコードを作成した後は、人間がコードをレビューし、関連モジュールをテストした上でなければ、PR を提出することはできません。

  2. Issue や PR の本文に AI で生成されたテキストを使用することは禁止します。詳細でなくても構いませんので、問題を特定できる、または自身の意図を説明できる十分な情報を記載してください。詳細すぎる AI 生成の説明は、かえって要点を把握しづらくし、真に重要な情報への集中を妨げてしまいます。

  3. UI については、人間がプロトタイプ設計を行う必要があり、AI は実装にのみ使用できます。過去の複数のバージョン反復の経験から、AI が機能に基づいて直接生成した UI は、期待を大幅に下回るものであると判断されています。

貢献の要件

貢献内容をよりよく理解し、レビューするために、以下の点にご注意ください。

プルリクエスト前の準備作業:

  1. 先に Issue を提出: 開発作業を開始する前に、アイデアと設計提案について議論するために Issue を提出してください。これにより、重複作業を避け、貢献がプロジェクトの方向性と一致していることを確認し、設計上の問題で PR がマージできない状況を防ぐことができます。

  2. RFC(Request for Comments): 大規模な変更や新機能については、技術的アプローチの実現可能性について維持者やコミュニティメンバーと議論するために、まず RFC または詳細な設計提案を提出することをお勧めします。

コード品質の要件:

  1. コードロジックを理解しやすくするために、主要なセクションにコメントを追加することをお勧めします。

  2. 機能を追加または変更した場合は、機能が期待どおりに動作することを確認するための対応するテスト方法を提供してください。コードをリファクタリングした場合は、影響を受ける範囲をカバーし、リファクタリングによって新しい問題が発生しないことを確認するためのテスト方法も提供してください。

  3. プルリクエストを送信する際には、行った変更とその理由を簡単に説明し、関連する Issue を参照してください。これにより、貢献内容をより迅速に理解することができます。

ローカルで WebGAL プロジェクトを起動する

WebGAL は現在、パッケージマネージャーとして yarn を、モノレポマネージャーとして yarn workspace を使用しています。

yarn がない場合は、次のコマンドを使用してインストールしてください。

npm install yarn -g

次に、プロジェクトのルートディレクトリで次のコマンドを実行します。

yarn

依存関係をインストールします。

このプロジェクトには、それぞれ異なる機能に対応する3つのパッケージがあります。

パッケージ名内容
parserWebGAL パーサー
serverWebGAL ローカルデバッグサーバー
webgalエンジンコア
yukimi計画中の yukimi サポートライブラリ

ローカルで WebGAL エンジンプロジェクトを起動する

次のスクリプトを実行して開発サーバーを起動できます。

yarn dev

WebGAL をビルドする場合は、次のコマンドを使用します。

yarn build

パッケージ化された出力は packages/webgal/dist ディレクトリにあります。

WebGAL テクノロジーについて

WebGAL はすでにかなりの規模のプロジェクトであり、直接コードに飛び込むと、最初は圧倒されるかもしれません。そのため、WebGAL テクノロジーを理解するための参考資料を用意しました。

WebGAL 技術紹介

さらに、ソースコードの主要なディレクトリには、そのモジュールの原理を説明するドキュメントも用意しています。これらの情報は中国語で提供されます。今日では、大規模言語モデルの翻訳能力は十分に高いため、中国語が読めなくても心配する必要はありません。大規模言語モデルを使用して、自分の言語に翻訳してみてください。

ビルドされた WebGAL を WebGAL Terre エディターにインポートする

ヒント

カスタマイズが完了し、WebGAL エディターでリアルタイムプレビューやリソース管理を行いたい場合は、ビルド成果物をカスタムエンジンとして WebGAL Terre に導入してください。詳しくは カスタムエンジンを使用する方法 を参照してください。WebGAL Terre のソースコードを開発している場合は、packages/terre2/assets/templates/WebGAL_Template を置き換えて組み込みエンジンテンプレートを更新することもできます。