app
Adom Step - File Viewer
Public Made by Adomby adom
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
← Commit history
README.mdadded+92@@ -0,0 +1,92 @@+# adom-step — STEP file viewer++A Fusion 360-style viewer for STEP (`.step` / `.stp`) files inside a+Hydrogen webview. Renders on the canonical Adom Babylon9 viewer.++## What it does++- **Components outline** — left-sidebar tree of every assembly node in+ the STEP. Per-row eye-toggle (tri-state across subtrees), isolate,+ zoom-to, search, right-click context menu.+- **Smart-pick measure** — Fusion-style snap to vertex / edge / face /+ body. Two clicks → distance in mm and mils, plus ΔX / ΔY / ΔZ and+ the angle between picks. Multi-stage Esc to back off one click at+ a time.+- **Hover-inspect HUD** — name, breadcrumb path, bbox W×D×H, material+ swatch, vertex/face count.+- **Pin / contact detection** — two-mode clusterer that walks the+ scene graph, groups meshes by inferred material role (body / pin /+ contact / marker), and surfaces detected pins as individual outline+ rows. Handles SOIC / QFP / QFN (per-side 1D), LGA / BGA / aQFN+ (2D bimodal-gap union-find), and through-hole connectors (geometry-+ based: tall-thin sub-meshes poking below the body's seating plane,+ regardless of material color).+- **Strobe** — flash each detected pin once at a configurable interval.+ Auto-disables with an explanatory tooltip on STEPs where no pins or+ contacts were found.+- **Right-click anywhere in the canvas** — Reveal in Components Outline,+ Isolate, Hide Others, Show, Hide, Zoom To, Copy Name, Properties.+ All visibility actions are Ctrl+Z / Ctrl+Y undoable; "Hide" auto-+ flashes the row in the outline so you can find the hidden item again.+- **Babylon Inspector** — bundled (not CDN), one click opens the full+ scene-graph debugger.+- **CLI mirrors every UI verb** — drive the running viewer from the+ shell or from Claude.++## Install++```bash+curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-step/adom-step -o /tmp/adom-step \+ && chmod +x /tmp/adom-step \+ && sudo install -m 0755 /tmp/adom-step /usr/local/bin/adom-step \+ && adom-step install+```++`adom-step install` deploys SKILL.md + completions to `~/.claude/skills/`+and `~/.local/`.++## Quick start++```bash+# Open any STEP file:+adom-step view /path/to/design.step++# Open a KiCad library footprint by canonical name:+adom-step view-library Package_QFP/LQFP-64_10x10mm_P0.5mm++# Drive from the CLI / from Claude:+adom-step list-components # tree dump+adom-step isolate U1 # hide others + frame+adom-step show NAME / hide NAME / show-all+adom-step measure A B # mm + mils+adom-step pins list # detected clusters+adom-step pins isolate 3+adom-step pins strobe # flash each pin+adom-step view-cube iso # front | top | iso | home | ...+adom-step screenshot --out /tmp/x.png+adom-step eval "return Object.keys(window.adomStep)"+adom-step console -f # tail webview console+```++## Pipeline++```+.step → service-step2glb /convert → GLB (hierarchy + materials preserved)+ → /tmp/adom-step-cache/<sha256>.glb+ → Babylon SceneLoader.ImportMeshAsync+ → scene.transformNodes → components outline+```++The conversion side uses OCCT XCAF + `RWGltf_CafWriter`, which preserves+the STEP product structure and per-face materials end-to-end. That's+why TI / Renesas / Nordic STEPs surface their named pin hierarchy+directly (no client-side STEP parsing).++## See also++- [`service-step2glb`](https://wiki-ufypy5dpx93o.adom.cloud/services/service-step2glb)+ — the OCCT-based converter that produces the GLBs.+- [`adom-3d-viewer-babylon9`](https://wiki-ufypy5dpx93o.adom.cloud/apps/adom-3d-viewer-babylon9)+ — the canonical Babylon9 viewer adom-step renders into.+- [`chip-fetcher`](https://wiki-ufypy5dpx93o.adom.cloud/apps/chip-fetcher)+ — source of the manufacturer STEPs adom-step is tuned for.
page.jsonadded+53@@ -0,0 +1,53 @@+{+ "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": "[email protected]"+ },+ "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": []+}