このプロジェクトについて

Diffuseは、クラウドおよび分散ストレージに接続する音楽プレイヤーです。フレームワークに依存しないカスタムDOM要素(Web Components)の集合として構築されており、開発者はオーディオプレイヤーの組み立て、オーディオメタデータの処理と閲覧、さまざまなソース・API・サーバーからのオーディオファイルやストリームの一覧表示、ユーザーデータの保存または同期方法の定義を行うことができます。 プロジェクトの主要な部分: - カスタム要素:プレイヤーの構築、メタデータ処理、ソース一覧、ユーザーデータの永続化のための再利用可能なWeb Components。 - HTMLローダー:ローカルのユーザーデータキャッシュ、デフォルトのDiffuseセット、HTTP(S) URL、またはAT Protocol URIから「インターフェース」を読み込みます。インターフェースは、ローカルキャッシュからも読み込まれるファセットと呼ばれるオプションの「機能」を受け取ります。 - 基盤:デフォルトのファセット全体で使用されるカスタム要素のデフォルト設定。要素は`group`属性を介してタブやフレームを越えて通信できます。 - レキシコン:atprotoレキシコンの形式のデータスキーマで、`lexicons`ディレクトリに保存されています。 目標は、協調的で可鍛性のあるソフトウェアです。詳細はプロジェクトのウェブサイトにあります。 開発者の使用方法:ライブラリは、デプロイされたインスタンス(要素がJavaScriptファイルにリンクする)を通じて、またはJSR上のJavaScriptパッケージを通じて利用できます。カスタム要素は、HTML内で、またはクラスをインスタンス化することにより、他のDOM要素と同様に使用されます。例では、scriptタグを介してキューエンジン要素を読み込む方法、またはそれをインポートして`group`属性を付けてdocument bodyに追加する方法を示しています。 ソースからのビルドにはDenoが必要です。コマンドには、型定義の生成、ビルド、サーブが含まれます。スタックには、Deno、Web Components、Web Workers(SharedおよびService Workers)、シグナル(現在はalien-signals、TC39提案への期待あり)、lit-html、music-metadata、Lume、ESBuildが含まれます。