{
  "schemaVersion": 1,
  "atomId": "path_renderer.aicomponent",
  "bundleType": "aicomponent",
  "category": "component",
  "mode": "fixed",
  "label": { "zh": "路径批量渲染器", "en": "Path batch renderer" },
  "tags": ["renderer", "path", "graphics", "arrow", "phaser", "canvas", "draw", "threejs", "3d", "mesh-per-cell"],
  "bindingRoles": ["pathBatchRenderer"],
  "renderModes": ["line-segment", "sprite-per-cell", "mesh-per-cell"],
  "engineVariants": {
    "phaser": {
      "imports": ["phaser.aicomponent"],
      "scaffoldFiles": {
        "src/game/scenes/GameUI/PathRenderer.ts": { "source": "ref/PathRenderer.ts", "mode": "full", "weight": 10 },
        "src/game/utils/PathRenderers.ts": { "source": "ref/PathRenderers.ts", "mode": "full", "weight": 10 }
      }
    },
    "threejs": {
      "imports": ["threejs.aicomponent"],
      "scaffoldFiles": {
        "src/game/ui/PathRenderer3D.ts": { "source": "ref/PathRenderer3D.ts", "mode": "full", "weight": 10 }
      }
    }
  },
  "scaffold": {
    "files": {
      "src/game/scenes/GameUI/PathRenderer.ts": {
        "source": "ref/PathRenderer.ts",
        "mode": "full",
        "weight": 10
      },
      "src/game/utils/PathRenderers.ts": {
        "source": "ref/PathRenderers.ts",
        "mode": "full",
        "weight": 10
      }
    }
  },
  "imports": [
    { "slot": "engine",    "pinAtomId": "phaser.aicomponent",      "edgeKind": "requires", "bindAs": "engine" },
    { "slot": "levelData", "pinAtomId": "arrow_path_data_format.aicomponent", "edgeKind": "requires", "bindAs": "levelData" },
    { "slot": "themeState","pinAtomId": "theme_state.aicomponent", "edgeKind": "requires", "bindAs": "themeState" }
  ],
  "exports": [
    { "name": "PathRenderer",        "kind": "class",    "location": "src/game/scenes/GameUI/PathRenderer.ts" },
    { "name": "PathRenderers",       "kind": "module",   "location": "src/game/utils/PathRenderers.ts" },
    { "name": "fillRoundedTriangle", "kind": "function", "location": "src/game/utils/PathRenderers.ts" },
    { "name": "PathTrackCell",       "kind": "type",     "location": "src/game/utils/PathRenderers.ts" },
    { "name": "PathRenderer3D",      "kind": "class",    "location": "src/game/ui/PathRenderer3D.ts" }
  ],
  "neutralDescriptor": {
    "geometry": "batch renderer for colored polyline paths with directional arrowheads on a grid canvas",
    "layers": ["canvas-drawing", "graphics-primitive", "arrow-rendering"],
    "replaceable": ["arrowhead style (triangle vs sprite)", "corner style (rounded vs square)", "line width ratio"]
  },
  "usageHints": [
    "PathRenderer 负责在 Phaser Graphics 对象上绘制单条路径（线段 + 箭头头部）",
    "PathRenderers 提供圆角/方角两种线段渲染实现",
    "fillRoundedTriangle 绘制路径末端的箭头三角形",
    "通过 ThemeManager 获取路径颜色，支持主题替换"
  ],
  "files": {
    "skill": "SKILL.md",
    "pathRenderer": "ref/PathRenderer.ts",
    "pathRenderers": "ref/PathRenderers.ts",
    "pathRenderer3D": "ref/PathRenderer3D.ts"
  }
}
