mcpField
C
code-map-visualization

code-map-visualization

github.com/pproencaデザイン・UI218135 回インストール11 週間前に更新
リポジトリ

code-map-visualization について

code-map-visualizationは、2Dマップに投影したコードベースの描画と操作に関するスキルです。インタラクティブな可視化を作る開発者向けに、視覚表現、描画性能、操作、アニメーション、アクセシビリティを扱います。

主な機能

  1. 019カテゴリにわたる47のルール
  2. 02視覚表現とカラースケールの指針
  3. 03Canvas2DとWebGLの描画方法
  4. 04性能とフレーム予算の技法
  5. 05ラベル、操作、カメラの指針
  6. 06アニメーションとアクセシビリティの推奨事項

活用シーン

  1. 01コード属性に適した視覚チャネルの選択
  2. 02ブラウザーでの大規模なセルマップ描画
  3. 03ラベル、ピッキング、カメラ操作の追加
  4. 04キーボードやスクリーンリーダーに対応するマップUIの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pproenca/dot-skills --skill code-map-visualization

インストール後、Claude Code で/code-map-visualizationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
access-encode-redundantly-never-color-alone.md
access-honor-prefers-reduced-motion.md
access-make-the-map-keyboard-operable.md
access-provide-a-text-alternative-for-the-canvas.md
anim-crossfade-between-lod-levels.md
anim-ease-camera-transitions-not-jumps.md
anim-keep-transitions-interruptible-and-budgeted.md
anim-preserve-object-constancy-on-data-update.md
bio-circle-packing-for-nested-counts.md
bio-edge-bundling-for-dependency-overlays.md
bio-flow-fields-for-animated-dependency-load.md
bio-metaball-hulls-for-region-membranes.md
bio-phyllotaxis-packing-for-even-point-spread.md
bio-relax-weights-for-even-cell-areas.md
bio-voronoi-regions-for-space-filling-tessellation.md
color-control-contrast-against-basemap.md
color-design-for-color-vision-deficiency.md
color-limit-categorical-hues.md
color-match-scale-type-to-data.md
color-perceptually-uniform-sequential-ramp.md
encode-let-projection-own-position.md
encode-maximize-data-ink-drop-chartjunk.md
encode-rank-channels-by-perceptual-accuracy.md
encode-redundant-encoding-for-key-signals.md
encode-separate-categorical-from-quantitative.md
encode-size-by-area-not-radius.md

詳細

Code Map Visualization Best Practices

2D マップに投影され、ジオハッシュ化されたコードベースを、正直で、高速で、読みやすく、インタラクティブで、アニメーション対応かつアクセシブルに描画し、視覚的にナビゲートする方法です。空間構造の上に構築される、描画と知覚に関する技術です。情報可視化、地図製作、コンピューターグラフィックス、自然・生物に着想を得たレイアウトの数十年にわたる知見を活用し、コードマップを正しく読み取れるようにするとともに、インタラクティブなフレームレートで動作させます。9つのカテゴリにわたる47のルールを、影響度順にまとめています。

適用する場面

次のような場合に、これらのガイドラインを参照してください。

  • どのコード属性をどの視覚チャネル(位置、サイズ、色)に割り当てるか、また、どのカラースケールが正確に情報を伝えるかを決めるとき
  • Canvas2D、WebGL、またはdeck.glを使って、数万から数百万のセルをウェブ上に描画し、レンダーループをフレーム予算内に収めるとき
  • 領域やファイルのラベルを配置して重なりを整理し、情報量の多いマップ上に読みやすいテキストを描画するとき
  • ホバー、ピッキング、選択、カメラ/ビュー状態モデル、ディープリンク、キーボード操作などのインタラクションを実装するとき
  • 閲覧者を戸惑わせることなく、カメラの移動、詳細度の遷移、データ更新をアニメーション化するとき
  • 色覚特性のある方、動きに敏感な方、キーボードのみを使う方、スクリーンリーダーを使う方がキャンバスを利用できるようにするとき

対象範囲について

このスキルは描画と知覚のレイヤーを対象とします。関連スキルのgeohash-spatial-code-mapsは、ジオハッシュのエンコード、コードから平面への投影、bbox/被覆集合クエリ、タイル分割、精度とズームのナビゲーションモデルといった空間計算を担当します。ここに記載するルールでは、これらを改めて説明するのではなく、関連スキルへのリンクを示します(例: map-deterministic-projection、 nav-level-of-detail-aggregation)。例では、Canvas2D + WebGL/deck.gl、d3-scale/d3-colorを使ったTypeScriptを対象としていますが、知覚に関する考え方はあらゆる描画スタックに応用できます。

優先度別ルールカテゴリ

優先度カテゴリ影響度接頭辞ルール数
1視覚的エンコーディングと知覚チャネル重大encode-6
2色と知覚的カラースケール重大color-5
3GPU描画パイプライン(Canvas2D + WebGL)高gpu-6
4描画パフォーマンスとフレーム予算高perf-5
5ラベルとテキスト描画中~高text-5
6インタラクション、ピッキング、カメラ中~高interact-5
7アニメーションとトランジション中anim-4
8アクセシビリティとインクルーシブな描画中access-4
9自然・細胞に着想を得たレイアウトと描画中bio-7

クイックリファレンス

1. 視覚的エンコーディングと知覚チャネル(重大)
2. 色と知覚的に均一なカラースケール(重要)
3. GPU レンダリングパイプライン — Canvas2D + WebGL(高)
4. 描画パフォーマンスとフレーム予算(高)
5. ラベルとテキストの描画(中~高)
6. インタラクション、ピッキング、カメラ(中~高)
7. アニメーションとトランジション(中)
8. アクセシビリティとインクルーシブなレンダリング(中)
9. 自然・細胞に着想を得たレイアウトとレンダリング(中)

マップを有機的にレンダリングするための、状況に応じて使えるツールボックスです。このうち 2 つはソフトウェアの可視化向けに考案されました。

使い方

詳しい説明、コード例、「適用すべきでない場合」のガイダンスについては、各リファレンスファイルを参照してください。

ルールは [[other-rule-slug]] で相互リンクされています。関連するパターンが参照されている場合は、そのリンク先も確認してください。enc-、prec-、dec-、qry-、nbr-、idx-、map-、nav- ルールへの相互リンクは、コンパニオンの geohash-spatial-code-maps スキルを参照します。空間計算については、そちらを読んでください。

レンダラーを最初から最後まで構築する場合の基本的な流れは、エンコーディングを決め(カテゴリー 1)→ 色を選び(カテゴリー 2)→ GPU パイプラインを立ち上げ(カテゴリー 3)→ フレーム予算を守り(カテゴリー 4)→ ラベル、インタラクション、アニメーション、アクセシビリティを追加する(カテゴリー 5~8)ことです。マップに適している場合は、有機的な細胞ベースのレンダリング(ボロノイ領域、パッキング、膜、エッジバンドリング)を活用してください(カテゴリー 9)。上流の投影とタイル分割については、geohash-spatial-code-maps を参照してください。

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルールのテンプレート
metadata.jsonバージョンとリファレンス情報
AGENTS.md自動生成された目次ナビゲーション

関連スキル

  • geohash-spatial-code-maps — この描画の基盤となる空間レイヤー:geohash エンコーディング、コード→平面への投影、タイル分割、精度↔ズームのナビゲーションモデル
  • computer-science-algorithms — 高速なピッキング、表示の整理、レンダリングループを支える空間インデックス、ソート、計算量の基本要素

コメント