threejs-choose-skills について
Three.js r185 の WebGPU、TSL、ノードマテリアルを使う作業向けのルーティングスキルです。観測要件を定め、原因ごとの担当スキルを選び、システム間の受け渡しと構成結果を検証します。
主な機能
- 01観測可能な契約と基準の定義
- 02要求結果の原因ごとの担当割り当て
- 03システム依存関係と受け渡しの整理
- 04リソースと出力の所有者設定
- 05証拠に基づく構成ルートの検証
活用シーン
- 01複数システムを使う Three.js シーンのスキル選定
- 02要求された効果の担当者不足の特定
- 03共有レンダーリソースとパス順序の計画
- 04定量・時間要件を検証へルーティング
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ linegel/ threejs-complete-set-of-skill --skill threejs-choose-skillsインストール後、Claude Code で/threejs-choose-skillsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEagents/openai.yamlreferences/composed-route-performance.mdcross-system-handoffs.mdprojected-error-contract.mdrouter-recipes.md詳細
Three.js の WebGPU/TSL ワークのルーティング
three/webgpu の WebGPURenderer、three/tsl の TSL、ノードマテリアルを使用する Three.js r185 のルーティングです。API、バックエンド、アタッチメントの上限、タイミングのサポートについては、インストール済みパッケージと初期化済みレンダラーを正とします。
4 つのステップでルーティング
1. 契約を明確にする
インストール済みのリビジョンと初期化済みのバックエンドを記録します。次に、以下を明示します。
- 主要な観測対象と、その契約が計量、同一性、物理的妥当性、知覚的妥当性のいずれに基づくか。
- 正式な入力、単位、座標系、スケール、トポロジー、時間の挙動、対象ビュー、インタラクション。
- 該当する各デプロイ先と、誤差、レイテンシー、フレーム時間、ピーク時のライブメモリについて検証可能な上限。
- 比較や再生に必要な再現可能なシード、入力トレース、またはカメラパス。
正式な入力が不足している場合は、明示的なギャップとして扱います。正規の主張には、初期化済みの WebGPU バックエンドが必要です。ユーザーがフォールバックの適用方法を明示的に尋ねた場合に限り、ルーティングの互換性を説明します。
ルーティングでフレーム時間、レイテンシー、ピーク時のライブメモリ、適応型品質、または持続的なパフォーマンスを扱う場合は、上限を確定する前に composed-route-performance.md を確認します。
完了条件: 要求された結果、正とする情報源、該当するすべての対象と受け入れ上限が明示され、相互に矛盾がないこと。
2. 原因を担う要素を選ぶ
最初に欠けている原因を特定します。データ/トポロジー、ジオメトリ、フィールド、マテリアル、照明、輸送ボリューム、モーション、カメラ/投影、または画像変換が該当します。有効な仕組みが複数残る場合は、最も複雑さの低い候補を比較し、採用しない候補を退ける根拠を示します。最初に欠けている原因の主な担当を 1 つ割り当てたうえで、要求された原因、必要な入力、または検証方法を担うスキルだけを追加します。
LOD、テッセレーション、インポスター、フィールドバンド、またはシミュレーション範囲が画面上の誤差に依存する場合は、表現を選ぶ前に projected-error-contract.md を確認します。
完了条件: 要求されたすべての観測対象に担当が 1 つ割り当てられているか、明示的なギャップがあり、選択したすべてのスキルが必要な項目を少なくとも 1 つ担っていること。
3. 引き継ぎとプレゼンテーションの担当を明確にする
選択したシステム間で物理状態、イベント、または GPU リソースをやり取りする場合は、実装前に cross-system-handoffs.md を確認し、該当する行をすべて完了させます。
すべての生成元、利用先、バージョン、実行順序、ライフタイム、無効化ルールを明示します。深度、法線、速度、識別子、履歴、MRT アタッチメントは、明示された利用先がある場合にのみ割り当てます。共有の RenderPipeline が必要なシグナルをすでに公開している場合は、シーンのレンダリングを 1 回だけ再利用します。
各プレゼンテーション対象に、最終出力の担当を 1 つ割り当てます。出力変換は、次のいずれか 1 つだけを選びます。
- シーンリニアな
outputNodeとoutputColorTransform = trueの組み合わせ。 - 明示的な
renderOutput(...)とoutputColorTransform = falseの組み合わせ。
outputNode または outputColorTransform の変更後は、renderPipeline.needsUpdate = true を設定します。時間的状態は、セマンティックシグナル、ビュー、エンコーディング、解像度、ジッター、更新頻度、リセットポリシーをキーに管理します。
完了条件: システム間のすべての接続で該当する引き継ぎ項目がすべて完了し、割り当てたすべてのリソースに利用先があり、各対象にトーンマッピング/出力経路が 1 つずつあること。
4. 構成したルートを検証する
まず、ポスト処理なし、または最小限のメカニズムを使ったベースラインを検証し、次に、選択した原因を裏付けるフィールド、ジオメトリ、マテリアル、深度、速度、履歴、出力の各診断を確認します。もっともらしい画像によってメカニズムが切断されていることが見えにくくなる場合は、変更または無効化のコントロールを使用します。ターゲットのマトリックス上で構成全体を測定し、取得できない証拠は unmeasurable と分類します。
一覧にあるマルチシステムのワークロードがリクエストに合致する場合にのみ、router-recipes.md を読み、プリセットとして扱うのではなく、その所有パターンを応用します。ルートが定量的、時間的、適応的、コンピュート、または継続的なパフォーマンスに関する主張をする場合は、常に $threejs-visual-validation を追加します。
完了条件: 受け入れ基準のすべてのしきい値が構成したルートから直接得られる証拠で裏付けられているか、裏付けられない主張の範囲が狭められ、その旨が報告されていること。
インストール済みスキルの範囲
出力先マップを、実際にインストールされているスキルと照合します。対応する所有者がないものを報告し、所有者が提供されるまでは、要求された原因を実装対象外とします。
出力先マップ
| トリガー | 読み込むスキル | 境界 |
|---|---|---|
| 接触スケールの遮蔽、GTAO、曲げ法線、またはバイラテラル AO 再構成 | $threejs-ambient-contact-shading | 深度とスケールの所有が必要です。法線は条件付きです。定量的な色の意味を保持してください。 |
| 曲線光線、ブラックホール、ワームホール、または降着輸送 | $threejs-black-holes-and-space-effects | 輸送メカニズムの検証後、その HDR 結果をブルームとカラーグレーディングで使用します。 |
| 全画面または選択的な HDR グロー | $threejs-bloom | HDR 発光と露出の検証が必要です。ブルームは発光の意味を作り出しません。 |
| 投影、軌道/自由移動ナビゲーション、フレーミング、浮動原点、または制御の引き継ぎ | $threejs-camera-controls-and-rigs | カメラのポリシーとリセット信号を管理します。被写体の動きは管理しません。 |
| 利用できない WebGPU バックエンドの明示的な解説 | $threejs-compatibility-fallbacks | 正規の WebGPU 所有スキルを特定した後、ユーザーがフォールバックの解説を求めた場合にのみ読み込みます。 |
| 再現可能なランタイム/API の不具合、ソースとドキュメントの不一致、リグレッション、またはアップグレードのトリアージ | $threejs-debugging | 不具合のメカニズムの切り分けに必要な場合にのみ、ドメインスキルを追加します。 |
| 持続するスクリーンスペースの霜、除去、ぼかし、または履歴マスク | $threejs-dynamic-surface-effects | スクリーンスペースの履歴サーフェスを管理します。ワールド/オブジェクトの天候は、そのドメインの所有スキルに属します。 |
| 露出、トーンマッピング、LUT グレーディング、ディスプレイ変換 | $threejs-exposure-color-grading | 定量表示では固定の伝達関数が必要になる場合があります。出力変換は一つの所有者に限定します。 |
| 共有パス信号、MRT、履歴、順序付け、最終表示 | $threejs-image-pipeline | 共有所有権のために早めに読み込み、組み立てのために後から読み込みます。不足しているシーンの原因は管理しません。 |
| 参照画像の実現可能性、分解、またはコード主体のオブジェクト再構築 | $threejs-object-sculptor | フォトグラメトリ、正確なメッシュ抽出、インポートアセットの作成はスキルの範囲外です。 |
| パーティクル、トレイル、イベントレイヤー、プラズマ、または衝撃波 | $threejs-particles-trails-and-effects | オブジェクトの変換はモーションに属します。安定したアプリケーション/データの識別子が常に優先されます。 |
| プロシージャルな建物、ファサード、屋根、装飾、または都市の文法 | $threejs-procedural-buildings-and-cities | インポートされた BIM/AEC 表現とソースアセットの準備は外部の範囲です。 |
| プロシージャルな動物、生成された身体、リグ、ロコモーション、または群衆 | $threejs-procedural-creatures | インポートされたスキン付きアセットのパイプラインは外部の範囲です。 |
| 再利用可能なスカラー/ベクトル場、因果マスク、ドメインワープ、または派生法線 | $threejs-procedural-fields | 実測された科学データは、データレイヤーで引き続き正本として扱います。 |
| 生成された頂点、インデックス、プロファイル、レール、トポロジー、UV、またはマテリアルグループ | $threejs-procedural-geometry | CAD/glTF の取り込み、メッシュ修復、圧縮、汎用アセット最適化は外部の範囲です。 |
| BRDF の特性、フィルタリングされたパターン/アトラス、フレーム場、意味的なサーフェスマスク、またはスペキュラー AA | $threejs-procedural-materials | シルエットはジオメトリが管理し、共有の因果マスクはフィールドが管理します。 |
| 作成された変換フェーズ、回転フレーム、バネ、運動学、または解析的モーション | $threejs-procedural-motion-systems | ライブデータの補間はアプリケーションのデータレイヤーに残します。 |
| 球状天体、惑星の地平線/精度、クレーター、バイオーム、または球面 LOD | $threejs-procedural-planets | 局所的な平面地形はフィールドとジオメトリで扱います。 |
| 植物の成長、分布、相対成長、根、樹冠、または根を張った状態での風 | $threejs-procedural-vegetation | 地形/支持フィールドと環境強制力は、それぞれ固有の正本性を維持します。 |
| 雨/雪の輸送、受け面への蓄積、湿潤、水たまり、または水しぶき | $threejs-rain-snow-and-wet-surfaces | 与えられた環境強制力を使用します。気象状態の合成は未対応です。 |
| 動的、カスケード、タイルカバレッジ、またはキャッシュされたリアルタイムシャドウ | $threejs-scalable-real-time-shadows | 通常のライトシャドウから始め、カバレッジ/無効化の必要性が計測で確認された場合にのみ複雑さを追加します。 |
| 空の散乱、大気シェル、空気遠近法、または霞 | $threejs-sky-atmosphere-and-haze | 画像スキルは最終的な露出/出力を管理します。放射輸送は管理しません。 |
| 波長帯をまたぐ、地平線規模で均質な方向性を持つ海 | $threejs-spectral-ocean | 周期的な深海/外洋の範囲は、水の光学特性が管理する沿岸境界までです。 |
| 決定論的キャプチャ、診断、スイープ、時間方向のチェック、予算、またはリグレッションの証拠 | $threejs-visual-validation | 必須の成果物と制御項目が実際に検査された場合に限り、レポートを証拠として扱えます。 |
| ボリュメトリックな雲の密度、ライティング、輸送、移流、または雲の影 | $threejs-volumetric-clouds | 環境強制力を使用します。汎用ボリュームレンダリングと気象学は未対応です。 |
| 解析的、限定範囲、または沿岸の水、岸辺での変換、波紋、コースティクス、屈折、または吸収 | $threejs-water-optics | 外洋のスペクトルはスペクトルオーシャンに属します。観測可能な特性を維持できる、最も単純なソルバーを選択してください。 |
明示的な対象外事項
プロジェクトから指定がない限り、以下の担当領域は公開スキルセットの対象外とします。
| リクエスト | 担当範囲 |
|---|---|
| glTF/CAD/BIM/科学データの取り込み、メッシュ修復、UV ベイク、圧縮、ソースアセットの LOD | プロジェクトのアセット/データパイプラインと公式 Three.js ツール。 |
| 一般的なライティング設計、スタジオ IBL/PMREM、反射プローブ、キューブキャプチャ | プロジェクトのライティング担当者と公式 Three.js ガイダンス。 |
| 汎用ボリュームレンダリング、点群/オクツリーのストリーミング、グラフレイアウト、テンソルの可視化 | 専用のドメイン実装。 |
| ライブトランスポート、データベース、テレメトリスキーマ、補間サービス | アプリケーションのデータレイヤー。 |
| ピッキング、選択、注釈、DOM UI、アクセシビリティ | アプリケーションのインタラクション/UI レイヤー。 |
| WebXR | 公式 Three.js/WebXR ガイダンスまたは専用スキル。 |
| 物理エンジンの選定とエンジン内部のシミュレーション | 提供されたエンジンまたはドメインソルバー。宣言された Three.js コンシューマーのみをルーティングします。サポートされていない結合チャネルは、明示的な対象外事項として扱います。 |
| 気象状態の合成 | 提供された環境コーディネーター。天候スキルと雲スキルは、その状態を使用します。 |
| フレームワーク、デプロイ、エディター、汎用アプリケーションアーキテクチャ | プロジェクトの規約。 |
ルーティング結果
以下の形式に従い、簡潔な結果を返してください。リクエストで使用するフィールドのみ含めます。
route:
backend: { required: WebGPU, installedRevision: "", actualBackend: "" }
contract: { observable: "", truth: "", units: "", frame: "", bounds: [] }
primaryOwner: ""
selected: []
deferred: []
gaps: []
handoffs: []
resources: []
passes: []
output: { owner: "", toneMap: "", conversion: "" }
verification: []
status: provisional | proven | blocked | unmeasurable
selected は最小限にし、deferred には各スキルが必要となる条件を記載します。すべての引き継ぎで、該当する数量/単位、座標系、時間、権限/バージョン、有効性/エラー、順序、ライフタイム、リセットの各項目を、
cross-system-handoffs.md で網羅します。すべてのリソースに、その形式、物理的な範囲、ライフタイム、コンシューマーを明記します。verification では、画像の見た目の妥当性だけでなく、選択した原因を検証します。
リクエストされたすべての観測可能項目または制約に、担当するスキルが1つだけ割り当てられているか、明示的な対象外事項となっており、選択したすべてのスキルが少なくとも1項目を担当し、すべてのスキル間依存関係で該当する引き継ぎ項目がすべて網羅され、すべての検証ポイントで選択した原因が検証されていれば、ルーティングは完了です。