Download

name: basic-3d-viewer description: Use when the user asks to "show GLB in basic viewer", "show me the raw 3D", "basic 3D view", "show Basic3dView", "compare 3D viewers", "test GLB rendering", "display GLB without fixups", or wants a minimal 3D viewer that renders GLB files exactly as-is without material fixups, overlays, pad highlighting, or camera tours.

Basic3dView — Minimal GLB 3D Viewer

Display GLB files in a stripped-down Babylon.js 3D viewer with zero post-processing. No material fixups, no laser etch, no synthetic pads, no FR4 detection, no camera tours. Shows the model exactly as the GLB contains it — useful for testing and comparing 3D output against other viewers.

Input: A .glb file path on the container, or drag-and-drop in the browser Output: Interactive 3D view in Adom Viewer with basic toolbar

MCP Tool

Use av_basic_3d_display to load a GLB:

av_basic_3d_display({
  glb_path: "/path/to/model.glb",
  title: "My Component"
})

Attribution: Always pass viewId, skill, and author when pushing to AV — see av-creator skill Rule #3.

Parameters:

Parameter Type Required Description
glb_path string yes Absolute path to the .glb file
title string no Title shown in the info bar

The tool blocks until the model is fully loaded (up to 15s timeout), so you can immediately call av_capture afterwards.

Toolbar

Button Feature Default
Home Reset camera to initial position --
Frame Zoom to fit model --
Ground Toggle ground plane ON
Wireframe Toggle wireframe rendering on all meshes OFF
Axes Toggle XYZ axis lines (R=X, G=Y, B=Z) OFF
Measure Measure distance between two points (mm) OFF
Meshes Open mesh list panel (draggable) OFF

Mesh Panel

The mesh list panel shows all meshes in the loaded model with per-mesh controls:

  • Eye toggle — show/hide individual meshes. Hidden meshes show a strikethrough name and dimmed eye icon.
  • Axis toggle — show/hide RGB origin axes at the mesh's local pivot point (R=X, G=Y, B=Z) with a white dot at the origin. Useful for verifying rotation pivots (e.g. wheel axles). Axis length auto-scales to 30% of the mesh's bounding diagonal.
  • Draggable — grab the "Meshes" header to drag the panel anywhere in the viewport.

The panel state (visibility, axes) is reflected in av_capture composite screenshots.

Measure Tool

Click the ruler icon to enter measure mode (cursor becomes crosshair). Click a first point on the model (teal marker), then click a second point — a white measurement line appears with a floating mm label at the midpoint. The label tracks the camera as you orbit. Press Escape to exit measure mode and clear the measurement.

Programmatic Control

Toggle toolbar features and set camera angles remotely — useful for automated screenshots or scripted demos.

# Toggle a toolbar button (ground, wireframe, axes, meshes)
curl -s -X POST http://localhost:8771/api \
  -H 'Content-Type: application/json' \
  -d '{"action":"basic3d_toggle","name":"wireframe"}'

# Set camera angle (Babylon.js ArcRotateCamera params)
curl -s -X POST http://localhost:8771/api \
  -H 'Content-Type: application/json' \
  -d '{"action":"basic3d_set_camera","alpha":-2.5,"beta":1.0}'

Toggle names: ground, wireframe, axes, measure, meshes

When to Use This vs Other Viewers

Viewer Use Case
Basic3dView (this) Raw GLB inspection — no transforms, no overlays, testing/comparison
3dView (av_3d_display) Full 3D with material fixup, laser etch, pad highlighting, camera tour
Fp3dView (fp-to-3d.js) Footprint pad geometry: copper shapes, dimensions, land pattern
LibView (av_library_review) Complete library review: symbol + footprint + 3D side-by-side

Troubleshooting

Symptom Cause Fix
"Basic 3D viewer page not found" Server started before HTML file was created Restart the viewer server
Model doesn't appear after API call Server cached old HTML Kill and restart node viewer/server.js
MCP tool av_basic_3d_display not found MCP servers haven't restarted Use HTTP API fallback
Model looks different than in 3dView Expected — 3dView applies material fixups Basic3dView shows the raw GLB intentionally