{
  "schema_version": 1,
  "type": "app",
  "slug": "adom-quicklook",
  "title": "adom-quicklook",
  "brief": "Generic file-preview viewer. `quicklook view <path-or-url>` opens .glb files in the canonical adom-inc/3d-viewer or .svg files in a brand-compliant zoom/pan preview, both in a Hydrogen webview tab. Re",
  "version": "0.1.0",
  "tags": [],
  "license": "MIT",
  "discovery_triggers": [
    "adom-quicklook",
    "quicklook",
    "show this glb",
    "preview glb",
    "open glb",
    "view glb",
    "view 3d model",
    "preview 3d model",
    "show this svg",
    "preview svg",
    "open svg",
    "view svg",
    "render svg",
    "kicad symbol preview",
    "kicad footprint preview",
    "basic 3d view",
    "Basic3dView",
    "render glb",
    "drop glb",
    "look at this part",
    "look at this chip",
    "look at this symbol",
    "verify glb",
    "show me the model",
    "show me the symbol",
    "display 3d",
    "show in 3d viewer"
  ],
  "discovery_pitch": "Generic file-preview viewer — drop a GLB or SVG in, get a brand-compliant Hydrogen webview tab. Replaces the legacy Basic3dView. Vendors adom-inc/3d-viewer for GLBs, ships a zoom/pan SVG mode. Clickable file paths reveal in VS Code Explorer.",
  "install": {
    "binary_name": "adom-quicklook",
    "install_dir": "",
    "install_hint": "",
    "version_cmd": ""
  },
  "readme": "# adom-quicklook\n\nGeneric file-preview viewer for the Adom ecosystem. `quicklook view <path-or-url>` opens any supported file in a brand-compliant Hydrogen webview tab. Routing is by extension:\n\n| Extension | Mode | What you get |\n|---|---|---|\n| `.glb` | Babylon 3D scene | Full canonical [`adom-inc/3d-viewer`](https://github.com/adom-inc/3d-viewer) — orbit, ViewCube, gradient bg, ground+shadow, axis helper at origin, bottom-light toggle |\n| `.svg` | Zoom/pan preview | Wheel-zoom-to-cursor, drag-pan, fit/1×/zoom toolbar, intrinsic-dimension info bar, checkerboard for transparent SVGs |\n\nReplaces the legacy `Basic3dView` (which lived in the deprecated Adom Viewer).\n\n## Two-second install\n\nPaste into Claude Code on any Adom container:\n\n```\nInstall adom-quicklook from the wiki:\n  curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-quicklook/adom-quicklook \\\n    -o /tmp/adom-quicklook && chmod +x /tmp/adom-quicklook \\\n    && sudo install -m 0755 /tmp/adom-quicklook /usr/local/bin/adom-quicklook \\\n    && adom-quicklook install\nThen verify: adom-quicklook health\n```\n\n## Common Claude prompts\n\n```\nShow me /tmp/board.glb in adom-quicklook.\n\nPull the SOIC-8 chip 3D model from service-kicad and open it in adom-quicklook.\n\nFetch the Device:R symbol SVG from service-kicad and preview it.\n\nI have an SVG at ~/project/symbols/foo.svg — open it.\n\nConvert /tmp/part.step to GLB and view it.\n```\n\nClaude wires those to:\n\n```bash\nadom-quicklook view /tmp/board.glb\n\nservice-kicad model fetch Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.step --out /tmp/soic8.step \\\n  && step2glb convert /tmp/soic8.step --out /tmp/soic8.glb \\\n  && adom-quicklook view /tmp/soic8.glb --kicad\n\ncurl -fsSL https://kicad-rk5ue5pcfemi.adom.cloud/sym/export/svg/Device/R \\\n  -o /tmp/device-R.svg \\\n  && adom-quicklook view /tmp/device-R.svg\n```\n\n## What's in each mode\n\n### GLB mode (3D)\n\n- **Brand-compliant UI** — body gradient `#5a6b7e → #2a3340`, dark theme, Familjen Grotesk + Satoshi + JetBrains Mono fonts, monochrome icon, Adom teal accent.\n- **Orbit camera** with smart auto-framing on load. Inherits zoom-to-mouse, soft limits, and the ViewCube from the canonical viewer.\n- **Default-on toggles** — Axes (RGB world-origin gizmo at 0,0,0), Ground (soft contact-shadow plane). Default-off Bottom-light (boost hemispheric `groundColor` for under-chip inspection).\n- **Y-up → Z-up canonical transform** applied automatically (`--kicad` opt-out for KiCad-pre-oriented GLBs).\n- Compliant with [`gallia/skills/3d-viewer-design`](https://github.com/adom-inc/gallia/tree/main/skills/3d-viewer-design) §3b, §4b, §4d, §8 — see commit history for the audit chase.\n\n### SVG mode (2D)\n\n- **Zoom-to-cursor** with the mouse wheel (same UX as the 3D viewer's §6a rule).\n- **Drag to pan**, Fit-to-viewport / 1× / ± buttons in the toolbar.\n- **Live zoom readout** in the toolbar.\n- **Checkerboard background** through the SVG's transparent regions so partial-fill artwork reads clearly. Soft drop-shadow lifts colored / white SVGs off the gradient.\n- **Intrinsic dimensions** in the info bar (`width × height` from the SVG's attributes or viewBox).\n- Useful for KiCad symbol/footprint exports, datasheet figures, board renders, brand assets.\n\n## Clickable file path → reveal in VS Code\n\nTitle HUD shows the source path as a clickable link in both modes. Click → Adom container shells `adom-vscode reveal <path>` → VS Code's Explorer sidebar focuses the file. Per [`gallia/skills/human-ui-patterns` §5b](https://github.com/adom-inc/gallia/blob/main/skills/human-ui-patterns/SKILL.md).\n\nIf the file is outside `$HOME/project/` (VS Code's workspace), the toast says so and tells you where to move it. If your local server has been killed but the tab is still open, the toast says *\"Server unreachable — restart adom-quicklook\"* instead of throwing a SyntaxError.\n\n## Subcommands\n\n```\nadom-quicklook view <source> [--title TITLE] [--port PORT] [--kicad]\nadom-quicklook health\nadom-quicklook config\nadom-quicklook install\nadom-quicklook completions <bash|zsh|fish>\n```\n\n`<source>` is either a local file path or an `https://` URL. URL sources are downloaded once to `/tmp/adom-quicklook-<stem>.<ext>` and served from there (which means they'll be flagged as outside-workspace by reveal — by design; you'd normally save the file into `~/project/...` if you want explorer reveal).\n\n## How it works\n\n`adom-quicklook view <source>`:\n\n1. Resolves the source → local file on disk. Detects `Kind::Glb` or `Kind::Svg` from the extension.\n2. Starts a tiny `tiny_http` server on a free port. Routes:\n   - `/` — the host page (GLB or SVG template, picked by kind).\n   - `/favicon.svg`\n   - `/model.glb` (GLB mode) or `/image.svg` (SVG mode).\n   - `/viewer/adom-3d-viewer.min.js` — the vendored Adom3DViewer bundle (GLB mode).\n   - `/api/manifest` — `{title, source, localPath, kind, contentUrl, ...}`.\n   - `/api/reveal` (POST) — shells to `adom-vscode reveal` with workspace-boundary check.\n3. Opens a Hydrogen webview tab via `adom-cli` on a non-VS-Code pane.\n\n## When to use vs other 3D paths\n\n| Tool | Use when |\n|---|---|\n| **adom-quicklook** | \"I just want to see what this file looks like\" — fastest spin-up, generic, brand-chrome consistent across GLB and SVG. |\n| `adom-chipfit` | Validating a chip GLB against a KiCad footprint. |\n| `adom-tsci` | Tscircuit board preview with first-class 3D / PCB / Schematic tabs. |\n| `step2glb preview` | Specifically converting STEP → GLB and looking at the result. |\n| Blender / FreeCAD / VS Code SVG ext | Heavier inspection, mesh editing, file-format work. |\n\n## Troubleshooting\n\n| Exit | Meaning |\n|---|---|\n| 0 | success |\n| 1 | input file invalid or not found |\n| 2 | service unreachable (rare — only the install fetch) |\n| 4 | tab couldn't be opened (no non-VS-Code pane available) |\n\nIf `adom-quicklook view` reports `(warning) could not open Hydrogen tab: …`, the local server is still running and the proxy URL is printed; you can open it in any browser tab to verify the file loads. The most common cause is \"every pane in the workspace currently hosts VS Code\" — split first, then re-run.\n\n## Repo\n\n[`adom-inc/adom-quicklook`](https://github.com/adom-inc/adom-quicklook) (private). Build from source: `bash build.sh` (clones `vendor/3d-viewer`, builds the standalone bundle, `cargo build --release`).\n",
  "author": {
    "name": "Kyle Bergstedt",
    "email": "[email protected]"
  },
  "visibility": {
    "public": true
  },
  "hero": null,
  "sample_prompts": [],
  "metadata": {},
  "created_at": "2026-05-28T05:29:17.344Z",
  "updated_at": "2026-05-28T05:29:17.344Z",
  "skills": []
}