{
  "schema_version": 1,
  "type": "app",
  "slug": "adom-step",
  "title": "adom-step — STEP file viewer",
  "brief": "Fusion 360-style viewer for STEP / STP files in a Hydrogen webview. Components outline, smart-pick measure (mm + mils + angle), hover-inspect HUD, and geometry-based pin / contact detection that handl",
  "version": "0.1.1",
  "tags": [],
  "license": "MIT",
  "discovery_triggers": [
    "adom-step",
    "step viewer",
    "view step file",
    "open step file",
    "open .step",
    "open .stp",
    "step 3d viewer",
    "cad viewer",
    "fusion 360 viewer",
    "components browser cad",
    "step assembly tree",
    "isolate component cad",
    "measure step file",
    "lga pads viewer",
    "qfn pins viewer",
    "bga balls viewer",
    "through-hole pins viewer",
    "kicad library step",
    "view-library step"
  ],
  "discovery_pitch": "Drop a STEP file in and get a Fusion 360-feel viewer instantly: components outline (every assembly node), smart-pick measure tool with mm + mils + angle, hover-inspect, and per-pin / per-contact strobe that handles LGA, BGA, QFN, SOIC, and through-hole connectors — works on KiCad library STEPs and chip-fetcher manufacturer STEPs alike.",
  "install": {
    "binary_name": "adom-step",
    "install_dir": "",
    "install_hint": "",
    "version_cmd": ""
  },
  "readme": "# adom-step — STEP file viewer\n\nA Fusion 360-style viewer for STEP (`.step` / `.stp`) files inside a\nHydrogen webview. Renders on the canonical Adom Babylon9 viewer.\n\n## What it does\n\n- **Components outline** — left-sidebar tree of every assembly node in\n  the STEP. Per-row eye-toggle (tri-state across subtrees), isolate,\n  zoom-to, search, right-click context menu.\n- **Smart-pick measure** — Fusion-style snap to vertex / edge / face /\n  body. Two clicks → distance in mm and mils, plus ΔX / ΔY / ΔZ and\n  the angle between picks. Multi-stage Esc to back off one click at\n  a time.\n- **Hover-inspect HUD** — name, breadcrumb path, bbox W×D×H, material\n  swatch, vertex/face count.\n- **Pin / contact detection** — two-mode clusterer that walks the\n  scene graph, groups meshes by inferred material role (body / pin /\n  contact / marker), and surfaces detected pins as individual outline\n  rows. Handles SOIC / QFP / QFN (per-side 1D), LGA / BGA / aQFN\n  (2D bimodal-gap union-find), and through-hole connectors (geometry-\n  based: tall-thin sub-meshes poking below the body's seating plane,\n  regardless of material color).\n- **Strobe** — flash each detected pin once at a configurable interval.\n  Auto-disables with an explanatory tooltip on STEPs where no pins or\n  contacts were found.\n- **Right-click anywhere in the canvas** — Reveal in Components Outline,\n  Isolate, Hide Others, Show, Hide, Zoom To, Copy Name, Properties.\n  All visibility actions are Ctrl+Z / Ctrl+Y undoable; \"Hide\" auto-\n  flashes the row in the outline so you can find the hidden item again.\n- **Babylon Inspector** — bundled (not CDN), one click opens the full\n  scene-graph debugger.\n- **CLI mirrors every UI verb** — drive the running viewer from the\n  shell or from Claude.\n\n## Install\n\n```bash\ncurl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-step/adom-step -o /tmp/adom-step \\\n  && chmod +x /tmp/adom-step \\\n  && sudo install -m 0755 /tmp/adom-step /usr/local/bin/adom-step \\\n  && adom-step install\n```\n\n`adom-step install` deploys SKILL.md + completions to `~/.claude/skills/`\nand `~/.local/`.\n\n## Quick start\n\n```bash\n# Open any STEP file:\nadom-step view /path/to/design.step\n\n# Open a KiCad library footprint by canonical name:\nadom-step view-library Package_QFP/LQFP-64_10x10mm_P0.5mm\n\n# Drive from the CLI / from Claude:\nadom-step list-components               # tree dump\nadom-step isolate U1                    # hide others + frame\nadom-step show NAME / hide NAME / show-all\nadom-step measure A B                   # mm + mils\nadom-step pins list                     # detected clusters\nadom-step pins isolate 3\nadom-step pins strobe                   # flash each pin\nadom-step view-cube iso                 # front | top | iso | home | ...\nadom-step screenshot --out /tmp/x.png\nadom-step eval \"return Object.keys(window.adomStep)\"\nadom-step console -f                    # tail webview console\n```\n\n## Pipeline\n\n```\n.step  →  service-step2glb /convert  →  GLB (hierarchy + materials preserved)\n       →  /tmp/adom-step-cache/<sha256>.glb\n       →  Babylon SceneLoader.ImportMeshAsync\n       →  scene.transformNodes  →  components outline\n```\n\nThe conversion side uses OCCT XCAF + `RWGltf_CafWriter`, which preserves\nthe STEP product structure and per-face materials end-to-end. That's\nwhy TI / Renesas / Nordic STEPs surface their named pin hierarchy\ndirectly (no client-side STEP parsing).\n\n## See also\n\n- [`service-step2glb`](https://wiki-ufypy5dpx93o.adom.cloud/services/service-step2glb)\n  — the OCCT-based converter that produces the GLBs.\n- [`adom-3d-viewer-babylon9`](https://wiki-ufypy5dpx93o.adom.cloud/apps/adom-3d-viewer-babylon9)\n  — the canonical Babylon9 viewer adom-step renders into.\n- [`chip-fetcher`](https://wiki-ufypy5dpx93o.adom.cloud/apps/chip-fetcher)\n  — source of the manufacturer STEPs adom-step is tuned for.\n",
  "author": {
    "id": "695820315b5f1e4db2fcf602",
    "name": "Kyle Bergstedt",
    "email": "kyle@adom.inc"
  },
  "visibility": {
    "public": true
  },
  "hero": null,
  "sample_prompts": [],
  "metadata": {},
  "created_at": "2026-05-28T05:29:09.928Z",
  "updated_at": "2026-05-28T05:29:09.928Z",
  "skills": []
}