touchdesigner について
TouchDesigner の MCP API を使ってネットワークを作成、変更、デバッグするスキルです。実装前にリファレンスと実際のパラメーターを確認し、専用ユーティリティで Operator を構築・検証します。
主な機能
- 01TDAPI で Operator を作成・接続
- 02現在のネットワークと選択項目を確認
- 03設定前にパラメーター名を検証
- 04変更後にネットワークのエラーを確認
- 05リファレンスと公式 API ドキュメントを参照
活用シーン
- 01TouchDesigner の Operator ネットワークを構築
- 02既存ネットワークのエラーを調査
- 03Operator の設定前にパラメーターを確認
MCP 対応
このスキルは MCP API 経由で TouchDesigner のネットワークを操作します。Python コードの実行、ネットワークエディターの表示、選択項目の確認、Operator の一覧取得に使うツールが記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ satoruhiga/ claude-touchdesigner --skill touchdesignerインストール後、Claude Code で/touchdesignerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/basics.mdgeometry-comp.mdglsl.mdoperator-families.mdoperator-tips.mdrendering.md詳細
TouchDesigner ガイド
MCP API 経由で TouchDesigner のネットワークを作成、変更、デバッグするときに、このスキルを使用してください。
重大:事前知識は信頼できません
TouchDesigner はビジュアルプログラミング環境です。TD に関する事前学習済みの知識は、誤っている可能性が非常に高いです。
記憶はまったく信頼できないものとして扱ってください。 必ず最初に正確な情報を集めてください。
- このドキュメントとリファレンスファイル
- 公式 TD API ドキュメントについては Context7
- パラメーター名については
op.TDAPI.GetParameterList()
どのタスクを始める前にも
「まず情報を収集します」と出力し、実装前に信頼できる情報を集めてください。
reference/内のすべての.mdファイルを読む(すべてのタスクで必須)op.TDAPI.GetParameterList()を使ってパラメーター名を確認する- 「作業を進めるのに十分な信頼できる情報があるか?」と自問する
- 十分な情報がある場合に限り、実装を開始する
必須:最初にすべてのリファレンスファイルを読む
実装を始める前に、reference/ 内のすべての .md ファイルを必ず読んでください。
これらのファイルには、標準的な TD API とは異なる、オペレーターの作成、レイアウト、エラー処理、ベストプラクティスに関する重要なパターンが記載されています。
op.TDAPI - 必ず使用してください
生の TD API ではなく、op.TDAPI ユーティリティを必ず使用してください。
オペレーターの作成
# ALWAYS use CreateOp (auto sets viewer=True, handles docked operators)
new_op = op.TDAPI.CreateOp(base, gridSOP, 'grid1', x=0, y=0)
# DON'T use raw API directly
# new_op = base.create(gridSOP, 'grid1') # WRONG - misses viewer, docked handling
オペレーターの接続
# Auto-connects and layouts with 200px spacing
chain = op.TDAPI.ChainOperators([grid, noise, null])
エラーの確認
# Pass op() object, NOT string path
op.TDAPI.CheckErrors(op('/project1/base1'), recurse=True)
# IMPORTANT: Error cache updates on frame boundaries
# After fixing, check in SEPARATE td_execute call:
# td_execute 1: Fix the error
# td_execute 2: cook + CheckErrors
設定前にパラメーターを確認
# TD parameter names are unpredictable (e.g., radius vs radx/rady/radz)
# ALWAYS check first using GetParameterList:
params = op.TDAPI.GetParameterList('sphereSOP')
print(params) # ['radx', 'rady', 'radz', ...]
リファレンスファイル
| 作業内容 | 読むファイル |
|---|---|
| すべてのタスク | reference/basics.md(必須) |
| オペレーターファミリー、データ変換 | reference/operator-families.md |
| Geometry COMP、インスタンシング | reference/geometry-comp.md |
| レンダリング、カメラ、ライト | reference/rendering.md |
| GLSL TOP/MAT、シェーダー | reference/glsl.md |
| フィードバックループ、シミュレーション | reference/operator-tips.md |
外部リソース
次の情報が必要な場合は、Context7 を使って TouchDesigner の公式 API ドキュメントを調べてください。
- オペレーターの種類とそのパラメーター
- Python API の詳細(td モジュール、Op クラスなど)
- 組み込み関数とクラス
このスキルでは、TD 固有のパターンとベストプラクティスを説明します。Context7 では公式 API リファレンスを確認できます。
実装前に
コーディング前に、複数の方法を検討してください。
- 目標を達成する方法を2~3通り挙げる
- 各方法の長所と短所を評価する:
- シンプルさ(変換が少ない、ファミリーの統一性)
- パフォーマンス(GPU 対 CPU、データフローの効率)
- 拡張性(後から簡単に変更できるか)
- 可読性(ネットワークの明瞭さ)
- 評価に基づいて、最も効果的な方法を選ぶ
例:「球体の形状にインスタンス化されたパーティクルを作成する」
| 方法 | 長所 | 短所 |
|---|---|---|
| A: Sphere SOP → soptoCHOP → Geo + POP | よく知られたパターン | ファミリーが混在し、変換が余分に必要 |
| B: Sphere POP → Null → Geo(In/Out POP) | POP で統一され、データフローが直接的 | あまり知られていない |
| C: Sphere POP → poptoCHOP → インスタンシング | 柔軟な位置指定 | 変換手順が余分に必要 |
→ B を選択:ファミリーが統一され、データフローが効率的で、ネットワーク構造もすっきりしています
必須ルール
- オペレーターを作成したら、必ず
viewer = Trueを設定する(UI のデフォルトに合わせる) - 複雑な処理の後は、必ずエラーを確認する:
op('/path').errors(recurse=True) - 参照接続の前には、必ず Null を中継として使用する
- オペレーターが重ならないよう、作成前にレイアウトを確認する
- 近くのオペレーター(同じ階層または近い階層)への参照には相対パスを使う
- Geometry COMP:形状は親レベルで作成する - COMP 内にジオメトリを作成せず、親レベルで準備して In/Out 経由で渡す
利用可能な MCP ツール
td_execute:TD で Python コードを実行td_pane:現在のネットワークエディターの状態を取得td_selection:選択中のオペレーターを取得td_operators:指定パスにあるオペレーターの一覧を取得
プラグインアセット
- TOX:
${SKILL_BASE}/../../toe/TouchDesignerAPI.tox
オペレーターファミリー(クイックリファレンス)
| ファミリー | 目的 | データ型 |
|---|---|---|
| SOP | サーフェス/ジオメトリ | 3D ジオメトリ(CPU) |
| POP | ポイント/パーティクル | 3D ポイント(GPU) |
| TOP | テクスチャ | 2D 画像 |
| CHOP | チャンネル | 時系列データ |
| DAT | データ | テーブル、テキスト |
| COMP | コンポーネント | コンテナー、シーン |
ファミリーの詳細情報、オペレーター一覧、ファミリー間のパターンについては、reference/operator-families.md を参照してください。
スキルのメンテナンス
ユーザーからこのスキルについてのフィードバック(修正、改善、不足しているパターンなど)があった場合は、次の手順に従ってください。
- このスキル内の関連する
.mdファイルの更新を提案します - 適用する前に、提案した変更をユーザーに提示します
- 適切に
SKILL.mdまたはreference/*.mdを更新します
これにより、実際の使用状況に基づいてスキルの正確性を保ち、継続的に改善できます。