Community画像github.com

teardown

実機の公開寸法から、物理駆動の3Dシミュレーターを構築します。エンジン、ロボット、リンケージ、ギアボックス、着陸装置、タービン、掘削機、時計など、あらゆるメカニズムに対応。カットアウェイと、シミュレーション状態から計算されたダッシュボードを備えます。ユーザーが機械の構築、シミュレーション、再構築、アニメーション、分解、カットアウェイ、または「仕組みを見せて」と依頼した場合に使用します。

teardown とは?

Teardownは、実在する機械の物理的に正確な3Dシミュレーターを、実機の公開寸法に基づいて構築するAIエージェントスキルです。このスキルは、エンジン、ロボット、ギアボックス、着陸装置、タービン、時計など、名前の付いた実機モデルを入力として受け取り、Three.jsベースのインタラクティブなシミュレーターを生成します。シミュレーターは、単一の物理状態(例えばクランク角度)から全ての状態を統合し、実際の運動学に基づいて計算します。ダッシュボードの各ゲージはすべて同じシミュレーション状態から導出され、カットアウェイ機能により内部機構を可視化できます。このスキルはオフラインで動作するスタンドアロンHTMLファイルを生成し、画像やライブラリをインライン化するため、ネットワーク不要で利用可能です。エンジニアリング可視化、教育ツール、または機械設計の検証に特に有用で、推定値と公開値を明確に区別する誠実なデータ取り扱いを徹底します。

対応~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Felixo-gif/teardown/tree/HEAD/skills/teardown

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

teardown は何をしますか?

あなたは実機を、実数のみに基づいて部品ごとに再構築し、単一の物理状態から駆動し、その周りにエンジニアリングダッシュボードを構築します。結果は、イラストではなく、本物のシミュレーターとして読めるものでなければなりません。決して手順を省略せず、マークなしで数値を発明しないでください。

入力

  • 機械(名前の付いた実機モデルが最適:例「Chevrolet 350 small-block」「Mantis hexapod」「Airbus A320 main gear」)。
  • 実機の参考写真1枚。ユーザーが添付した場合はそれを使用します。添付がない場合は、提供を依頼してください。ユーザーが提供できない場合は、自由にライセンスされた写真を1枚見つけてください(Wikimedia Commons、ファイルページでライセンスを確認)、作成者、ライセンス、URLを記録します。モデリングの前に写真を確認してください:プロポーション、部品レイアウト、色、可動部分。

ワークフロー(順番に実行)

  1. 特定。 正確な機械とバリアントを特定します。1行で選択したものを述べてください。
  2. 最初に実数、1つのデータブロック。 すべてのジオメトリの前に、DATAブロックを調査して記述します。構築で使用するすべての寸法、質量、比率、速度、角度、タイミングを、それぞれkind(published、derived、estimated)と番号付きソースとともに記述します。references/research.mdを読んでください。ルール:メーカーシート、マニュアル、規格、論文、記録機関を優先します。可能な場合は2つのソースを相互参照します。写真からスケーリングした数値はestimatedです。他の値から計算した数値はderivedです。このブロックを、構築前にチャットで短いテーブルとしてユーザーに表示します。
  3. キットから始める。 kit/template.htmlを出力フォルダに<machine>-live.htmlとしてコピーし、kit/three.jsを隣にコピーします。MACHINE:CSS、MACHINE:DASH、および<script id="machine">ブロックのみを編集します。キットは、ステージ、three.jsセットアップ、シンプルなオービット、カットアウェイ、ゲージ、およびクロックを提供します。APIについてはreferences/dashboard.mdを読んでください。
  4. 数値から部品を構築する。 すべてのメッシュ寸法は、N.<key>(データブロック)またはコードに隣接して書かれた導出値から取得します。実物に対応するものには、マジックナンバーは使用しません。写真のプロポーションと部品形状に合わせます。kitのヘルパー(TD.span、押し出し形状、TD.glow)を使用します。
  5. 単一の物理状態がすべてを駆動する。 最小限の統合状態(クランク角度、移動距離、時間、バルブ位置)を定義します。step()がそれを統合し、derive()が実際の運動学(references/kinematics.md)を使用して機械全体(位置、角度、速度、力、圧力)を計算します。pose()は派生値をメッシュにコピーするだけです。可動部にMath.sin(time)の装飾は使用しません。
  6. 同じ状態を中心としたダッシュボード。 すべての読み取り値、チャート、ストリップ、バーは、派生オブジェクトSから読み取られ、独自のタイマーからは読み取られません。1サイクルにわたるチャートは、同じソルバーをサンプリング位相で呼び出すことによって計算されます。含めるもの:ヘッドライン番号、現在のフェーズ/ストロークラベル、角度またはフェーズに対する少なくとも1つのチャート(移動カーソル付き)、パーツごとのセレクター、ソース付きデータブロック、クレジット付き参照写真、およびコントロール。レイアウトとゲージの選択:references/dashboard.md。
  7. カットアウェイ。 アクションを隠している部分を通してクリッピングプレーンカットアウェイ(TD.cutaway)を追加します。中空シェルにして壁断面のみがキャップ色を示すようにし、前面にあるものはゴースト表示にし、隠れたアクション(燃焼フラッシュ、オイルカラム、ギアの噛み合い)が見えるようにします。references/cutaway.md。
  8. 外観。 references/look.mdを適用します(デフォルトはダークSF、リクエストに応じてライトエンジニアリングバリアント)。
  9. レンダリング静止画による自己チェック。 node kit/stills.mjs <abs html> 0.5,2,4 <abs dir>/check-%.pngを実行します(playwrightが必要。それ以外の場合は、ブラウザツールでページを開き、__renderを呼び出します)。すべてのPNGを読み取ります。修正するまで:コンソールエラーがない、機械がフレーム内に収まり判読できる、カットアウェイが内部を示している、ゲージが静止画間で明らかに異なる(スクリプトは同一のダッシュボードにフラグを立てます)、deterministic: yes。次にreferences/qa.mdを実行します。チェックPNGを削除します。
  10. 出荷。 node kit/inline.mjs <machine>-live.htmlを実行して、three.jsと画像を<machine>-live.standalone.html(単一のオフラインファイル)に折り込みます。次のもので返信します:ファイル、データブロック(数値+ソース)、写真クレジット、公開値ではなく推定値であるもの。

出力ファイルのハードコントラクト

  • ディスクからネットワークなしで開く。three.jsはwindow.THREEを公開するクラシックスクリプト(ESモジュールなし、CDNなし)。
  • window.__render(t):tは秒単位、決定論的、壁時計なし。コントロールをデフォルトにリセットし、固定ステップで0から状態を再統合し、1フレーム描画します。キットのTD.runがこれを行います。バイパスしないでください。
  • 通常開くとrequestAnimationFrameでライブ再生。コントロールが状態を変更すると、すべてのゲージが追従します。
  • デスクトップステージ1600x1000、任意のウィンドウに合わせて拡大縮小。
  • データブロック、ソース、写真クレジットがページ上で表示される。

誠実さのルール

  • 推定値を公開値として提示しないでください。タグ付けします。
  • 公開値が一致しない場合は、1つを選び、もう1つをノートに表示してその旨を明記します。
  • 動作が単純にモデル化されている場合(静荷重、理想気体、摩擦なし)、返信で1行でその旨を述べてください。

関連スキル