adom-quicklook
Public UnreviewedGeneric 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
adom-quicklook
Generic 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:
| Extension | Mode | What you get |
|---|---|---|
.glb |
Babylon 3D scene | Full canonical adom-inc/3d-viewer — orbit, ViewCube, gradient bg, ground+shadow, axis helper at origin, bottom-light toggle |
.svg |
Zoom/pan preview | Wheel-zoom-to-cursor, drag-pan, fit/1×/zoom toolbar, intrinsic-dimension info bar, checkerboard for transparent SVGs |
Replaces the legacy Basic3dView (which lived in the deprecated Adom Viewer).
Two-second install
Paste into Claude Code on any Adom container:
Install adom-quicklook from the wiki:
curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-quicklook/adom-quicklook \
-o /tmp/adom-quicklook && chmod +x /tmp/adom-quicklook \
&& sudo install -m 0755 /tmp/adom-quicklook /usr/local/bin/adom-quicklook \
&& adom-quicklook install
Then verify: adom-quicklook health
Common Claude prompts
Show me /tmp/board.glb in adom-quicklook.
Pull the SOIC-8 chip 3D model from service-kicad and open it in adom-quicklook.
Fetch the Device:R symbol SVG from service-kicad and preview it.
I have an SVG at ~/project/symbols/foo.svg — open it.
Convert /tmp/part.step to GLB and view it.
Claude wires those to:
adom-quicklook view /tmp/board.glb
service-kicad model fetch Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.step --out /tmp/soic8.step \
&& step2glb convert /tmp/soic8.step --out /tmp/soic8.glb \
&& adom-quicklook view /tmp/soic8.glb --kicad
curl -fsSL https://kicad-rk5ue5pcfemi.adom.cloud/sym/export/svg/Device/R \
-o /tmp/device-R.svg \
&& adom-quicklook view /tmp/device-R.svg
What's in each mode
GLB mode (3D)
- Brand-compliant UI — body gradient
#5a6b7e → #2a3340, dark theme, Familjen Grotesk + Satoshi + JetBrains Mono fonts, monochrome icon, Adom teal accent. - Orbit camera with smart auto-framing on load. Inherits zoom-to-mouse, soft limits, and the ViewCube from the canonical viewer.
- Default-on toggles — Axes (RGB world-origin gizmo at 0,0,0), Ground (soft contact-shadow plane). Default-off Bottom-light (boost hemispheric
groundColorfor under-chip inspection). - Y-up → Z-up canonical transform applied automatically (
--kicadopt-out for KiCad-pre-oriented GLBs). - Compliant with
gallia/skills/3d-viewer-design§3b, §4b, §4d, §8 — see commit history for the audit chase.
SVG mode (2D)
- Zoom-to-cursor with the mouse wheel (same UX as the 3D viewer's §6a rule).
- Drag to pan, Fit-to-viewport / 1× / ± buttons in the toolbar.
- Live zoom readout in the toolbar.
- Checkerboard background through the SVG's transparent regions so partial-fill artwork reads clearly. Soft drop-shadow lifts colored / white SVGs off the gradient.
- Intrinsic dimensions in the info bar (
width × heightfrom the SVG's attributes or viewBox). - Useful for KiCad symbol/footprint exports, datasheet figures, board renders, brand assets.
Clickable file path → reveal in VS Code
Title 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.
If 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.
Subcommands
adom-quicklook view <source> [--title TITLE] [--port PORT] [--kicad]
adom-quicklook health
adom-quicklook config
adom-quicklook install
adom-quicklook completions <bash|zsh|fish>
<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).
How it works
adom-quicklook view <source>:
- Resolves the source → local file on disk. Detects
Kind::GlborKind::Svgfrom the extension. - Starts a tiny
tiny_httpserver on a free port. Routes:/— the host page (GLB or SVG template, picked by kind)./favicon.svg/model.glb(GLB mode) or/image.svg(SVG mode)./viewer/adom-3d-viewer.min.js— the vendored Adom3DViewer bundle (GLB mode)./api/manifest—{title, source, localPath, kind, contentUrl, ...}./api/reveal(POST) — shells toadom-vscode revealwith workspace-boundary check.
- Opens a Hydrogen webview tab via
adom-clion a non-VS-Code pane.
When to use vs other 3D paths
| Tool | Use when |
|---|---|
| adom-quicklook | "I just want to see what this file looks like" — fastest spin-up, generic, brand-chrome consistent across GLB and SVG. |
adom-chipfit |
Validating a chip GLB against a KiCad footprint. |
adom-tsci |
Tscircuit board preview with first-class 3D / PCB / Schematic tabs. |
step2glb preview |
Specifically converting STEP → GLB and looking at the result. |
| Blender / FreeCAD / VS Code SVG ext | Heavier inspection, mesh editing, file-format work. |
Troubleshooting
| Exit | Meaning |
|---|---|
| 0 | success |
| 1 | input file invalid or not found |
| 2 | service unreachable (rare — only the install fetch) |
| 4 | tab couldn't be opened (no non-VS-Code pane available) |
If 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.
Repo
adom-inc/adom-quicklook (private). Build from source: bash build.sh (clones vendor/3d-viewer, builds the standalone bundle, cargo build --release).
# adom-quicklook
Generic 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:
| Extension | Mode | What you get |
|---|---|---|
| `.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 |
| `.svg` | Zoom/pan preview | Wheel-zoom-to-cursor, drag-pan, fit/1×/zoom toolbar, intrinsic-dimension info bar, checkerboard for transparent SVGs |
Replaces the legacy `Basic3dView` (which lived in the deprecated Adom Viewer).
## Two-second install
Paste into Claude Code on any Adom container:
```
Install adom-quicklook from the wiki:
curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/adom-quicklook/adom-quicklook \
-o /tmp/adom-quicklook && chmod +x /tmp/adom-quicklook \
&& sudo install -m 0755 /tmp/adom-quicklook /usr/local/bin/adom-quicklook \
&& adom-quicklook install
Then verify: adom-quicklook health
```
## Common Claude prompts
```
Show me /tmp/board.glb in adom-quicklook.
Pull the SOIC-8 chip 3D model from service-kicad and open it in adom-quicklook.
Fetch the Device:R symbol SVG from service-kicad and preview it.
I have an SVG at ~/project/symbols/foo.svg — open it.
Convert /tmp/part.step to GLB and view it.
```
Claude wires those to:
```bash
adom-quicklook view /tmp/board.glb
service-kicad model fetch Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.step --out /tmp/soic8.step \
&& step2glb convert /tmp/soic8.step --out /tmp/soic8.glb \
&& adom-quicklook view /tmp/soic8.glb --kicad
curl -fsSL https://kicad-rk5ue5pcfemi.adom.cloud/sym/export/svg/Device/R \
-o /tmp/device-R.svg \
&& adom-quicklook view /tmp/device-R.svg
```
## What's in each mode
### GLB mode (3D)
- **Brand-compliant UI** — body gradient `#5a6b7e → #2a3340`, dark theme, Familjen Grotesk + Satoshi + JetBrains Mono fonts, monochrome icon, Adom teal accent.
- **Orbit camera** with smart auto-framing on load. Inherits zoom-to-mouse, soft limits, and the ViewCube from the canonical viewer.
- **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).
- **Y-up → Z-up canonical transform** applied automatically (`--kicad` opt-out for KiCad-pre-oriented GLBs).
- 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.
### SVG mode (2D)
- **Zoom-to-cursor** with the mouse wheel (same UX as the 3D viewer's §6a rule).
- **Drag to pan**, Fit-to-viewport / 1× / ± buttons in the toolbar.
- **Live zoom readout** in the toolbar.
- **Checkerboard background** through the SVG's transparent regions so partial-fill artwork reads clearly. Soft drop-shadow lifts colored / white SVGs off the gradient.
- **Intrinsic dimensions** in the info bar (`width × height` from the SVG's attributes or viewBox).
- Useful for KiCad symbol/footprint exports, datasheet figures, board renders, brand assets.
## Clickable file path → reveal in VS Code
Title 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).
If 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.
## Subcommands
```
adom-quicklook view <source> [--title TITLE] [--port PORT] [--kicad]
adom-quicklook health
adom-quicklook config
adom-quicklook install
adom-quicklook completions <bash|zsh|fish>
```
`<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).
## How it works
`adom-quicklook view <source>`:
1. Resolves the source → local file on disk. Detects `Kind::Glb` or `Kind::Svg` from the extension.
2. Starts a tiny `tiny_http` server on a free port. Routes:
- `/` — the host page (GLB or SVG template, picked by kind).
- `/favicon.svg`
- `/model.glb` (GLB mode) or `/image.svg` (SVG mode).
- `/viewer/adom-3d-viewer.min.js` — the vendored Adom3DViewer bundle (GLB mode).
- `/api/manifest` — `{title, source, localPath, kind, contentUrl, ...}`.
- `/api/reveal` (POST) — shells to `adom-vscode reveal` with workspace-boundary check.
3. Opens a Hydrogen webview tab via `adom-cli` on a non-VS-Code pane.
## When to use vs other 3D paths
| Tool | Use when |
|---|---|
| **adom-quicklook** | "I just want to see what this file looks like" — fastest spin-up, generic, brand-chrome consistent across GLB and SVG. |
| `adom-chipfit` | Validating a chip GLB against a KiCad footprint. |
| `adom-tsci` | Tscircuit board preview with first-class 3D / PCB / Schematic tabs. |
| `step2glb preview` | Specifically converting STEP → GLB and looking at the result. |
| Blender / FreeCAD / VS Code SVG ext | Heavier inspection, mesh editing, file-format work. |
## Troubleshooting
| Exit | Meaning |
|---|---|
| 0 | success |
| 1 | input file invalid or not found |
| 2 | service unreachable (rare — only the install fetch) |
| 4 | tab couldn't be opened (no non-VS-Code pane available) |
If `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.
## Repo
[`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`).