{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "mano",
  "title": "Mano",
  "description": "Position and rotate the independent Hand illustration with controlled coordinates.",
  "registryDependencies": [
    "@jbm/hand",
    "@jbm/scene-geometry"
  ],
  "files": [
    {
      "path": "registry/jbm/motion/mano.tsx",
      "content": "import { Hand, type HandPose } from \"../ui/hand\"\nimport { type Pt } from \"../lib/geometry\"\nexport { pointOn, pathTilt } from \"../lib/geometry\"\nexport type ManoProps = {\n  at: Pt\n  pose?: HandPose\n  size?: number\n  angle?: number\n  /** Local point in the Hand's 30×29 viewBox held at `at`, including during rotation. */\n  anchor?: Pt\n}\n/** Placement wrapper; Hand owns the artwork and pose, callers own movement. */\nexport function Mano({\n  at,\n  pose = \"point\",\n  size = 180,\n  angle = 0,\n  anchor,\n}: ManoProps) {\n  return (\n    <g transform={`translate(${at.x} ${at.y}) rotate(${angle})`}>\n      <g\n        transform={\n          anchor\n            ? `translate(${(-anchor.x * size) / 30} ${(-anchor.y * size) / 30})`\n            : undefined\n        }\n      >\n        <Hand\n          pose={pose}\n          width={size}\n          height={(size * (anchor ? 29 : 44)) / 30}\n          style={{ height: (size * (anchor ? 29 : 44)) / 30 }}\n        />\n      </g>\n    </g>\n  )\n}\n",
      "type": "registry:component",
      "target": "src/jbm/motion/mano.tsx"
    }
  ],
  "type": "registry:component"
}