npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

explodeview

v1.0.24

Published

Embeddable 3D exploded-view viewer for STEP/CAD files. Turn any CAD assembly into an interactive product showcase with explode animations, measurements, section cuts, QR codes, and manufacturing tools.

Downloads

668

Readme

ExplodeView v1.0.16

Turn any CAD assembly into an interactive 3D product showcase. 399 components. 40+ analysis tools. AI-powered.

License: BSL-1.1 npm Downloads GitHub Stars

ExplodeView is a browser-based 3D viewer for STEP, STL, and other CAD files. Embed it on your product page, use it as a service tech tool, or integrate it into your manufacturing platform. Built with Three.js r170, AI-powered part identification, and manufacturing-grade tools.

Key Features at a Glance

  • 399-component assemblies rendered in WebGL with exploded-view animations
  • 40+ analysis tools — measurement, QR codes, BOM export, section cuts, part identification
  • AI-powered — Gemini Vision API, Groq Llama 3.1 8B, offline NLP fallback
  • McMaster-Carr integration — auto-search fasteners with torque specs
  • 6 languages — English, German, French, Spanish, Italian, Dutch
  • Docker-ready — 3-service stack with STEP converter backend
  • 100+ automated tests — visual test agent with live Chrome visualization
  • Zero dependencies — everything runs in the browser (or Docker)

Quick Start

Try it Live

https://explodeview.com/demo

npm Install

npm install explodeview

CDN Embed

<div id="viewer" style="width:100%; height:600px"></div>
<script src="https://unpkg.com/[email protected]/dist/explodeview.js"></script>
<script>
  new ExplodeView({
    container: '#viewer',
    modelUrl: '/your-assembly.step',
    theme: 'dark'
  });
</script>

Docker (with server-side STEP converter)

docker-compose up
# ExplodeView: http://localhost:8080
# STEP Converter: http://localhost:8787
# cycleCAD (sister app): http://localhost:3000

Installation

npm

npm install explodeview

CDN

<script src="https://unpkg.com/explodeview"></script>

Self-hosted

Download dist/explodeview.js and serve it from your own server.

Processing STEP Files

The CLI tool converts STEP/STP files into web-ready assets:

python3 bin/explodeview-process.py <input.step> <output_dir> [options]

Options:
  --name        Product display name
  --brand       Brand name
  --tolerance   Mesh quality (default: 0.5, lower = finer)

Requirements: Python 3.8+ with cadquery and OCP packages.

pip install cadquery OCP

Output structure:

output/
├── parts/           # Individual STL meshes per solid
├── manifest.json    # Part metadata (centers, bounding boxes)
├── assemblies.json  # Auto-detected assembly grouping
└── config.json      # Viewer configuration

JavaScript API

// Programmatic initialization
const viewer = await STPViewer.init({
  container: '#my-viewer',
  src: '/path/to/processed/assets/',
  brand: 'Your Brand',
  productName: 'Product Name',
  assemblies: [],  // auto-loaded from assemblies.json
  captions: {
    brand: 'Your Brand',
    productName: 'Product Name',
    loaderTitle: 'Loading...',
    loaderText: 'Preparing 3D model...',
    btnOverview: 'Overview',
    btnCollapse: 'Collapse',
    btnExplode: 'Explode',
  }
});

Custom Assemblies

Override auto-detected assemblies with your own grouping:

STPViewer.init({
  container: '#viewer',
  src: '/assets/',
  assemblies: [
    {
      key: 'frame',
      name: 'MAIN FRAME',
      subtitle: 'Structural Steel',
      detail: 'Load-bearing frame assembly.',
      color: '#0055A4',
      indices: [0, 150],  // solid index range
    },
    {
      key: 'motor',
      name: 'DRIVE UNIT',
      subtitle: 'Electric Motor Assembly',
      color: '#FFD100',
      indices: [150, 200],
    }
  ]
});

Custom Materials

Each assembly can have custom material properties in the assemblies JSON:

{
  "key": "covers",
  "name": "PROTECTIVE COVERS",
  "color": "#2A2A30",
  "material": {
    "metalness": 0.0,
    "roughness": 0.85
  }
}

Features (63 Total)

Core Visualization

  • ✅ 3D exploded-view with timeline scrubber
  • ✅ Assembly tree with part highlighting
  • ✅ 399-component assemblies (real-world tested)
  • ✅ Collapse/expand animations
  • ✅ OrbitControls (rotate, pan, zoom)
  • ✅ 6 preset views (front, back, top, bottom, left, right)
  • ✅ Wireframe + grid + shadow rendering
  • ✅ Fit-to-selection (double-click zoom)
  • ✅ Realistic 150+ PBR materials

Manufacturing Tools (40+)

  • Measurement — 2-point distance, 3-point angle
  • QR codes — per-part deep links
  • Bill of Materials — CSV export with quantities
  • Part identification — AI + geometry fallback
  • Section cuts — X/Y/Z cross-sections
  • STL export — individual parts or assembly
  • Annotation pins — drag & drop comments
  • DIN/ISO lookup — standard parts with McMaster-Carr links
  • Assembly instructions — step-by-step HTML export
  • Weight estimator — 15 materials, volume-based
  • Part comparison — select 2 parts, compare dimensions
  • Maintenance heatmap — color-code by urgency
  • Wear timeline — 5-year replacement schedule
  • Clearance checker — detect interference
  • Assembly validator — score A-F
  • Thermal heatmap — simulated heat distribution
  • Vibration analysis — animated vibration
  • Fastener wizard — 12 fastener patterns, torque specs

AI-Powered (v1.0.16 New)

  • AI Vision Part Identifier — Gemini Vision API
  • Batch AI Scan — auto-scan all parts
  • Smart BOM — AI-identified parts with pricing
  • AI Assembly Instructions — auto-generated service manuals
  • Chatbot — Gemini Flash + Groq Llama 3.1 + offline fallback
  • Design Review — manufacturability analysis

Export & Sharing

  • ✅ STL export (ASCII + binary)
  • ✅ OBJ, glTF 2.0, PLY export
  • ✅ PNG screenshot (2x retina)
  • ✅ GIF export (animated interactions)
  • ✅ Service report (technician workflows)
  • ✅ Technical report (full HTML)
  • ✅ Embed code generator
  • ✅ Shareable links

Customization

  • ✅ Dark & light themes
  • ✅ Blueprint theme (white bg + blue wireframe)
  • ✅ 6 languages (EN, DE, FR, ES, IT, NL)
  • ✅ Custom color schemes
  • ✅ Material selector (8 PBR materials)
  • ✅ Transparency control (per-part opacity)
  • ✅ Color-by-type (auto-coding)
  • ✅ Hero shots (pre-configured camera positions)

Integration & Performance

  • ✅ npm package (npm install explodeview)
  • ✅ CDN embed (<script> tag)
  • ✅ Docker support (3-service stack)
  • ✅ Server-side STEP converter (FastAPI)
  • ✅ Agent API (programmatic control)
  • ✅ WebWorker support (non-blocking parsing)
  • ✅ Service Worker (offline mode)
  • ✅ COOP/COEP headers (SharedArrayBuffer)
  • ✅ 100+ automated tests (visual test agent)
  • ✅ Performance monitor (FPS, memory, part count)

Who is this for?

  • Manufacturing companies — showcase products on your website
  • E-commerce — interactive product pages that convert
  • Engineering docs — maintenance and assembly manuals
  • Sales teams — impressive presentations and proposals
  • Education — teach mechanical engineering concepts

Examples

Full-page viewer

<div id="viewer"
     data-stp-viewer="/assets/"
     data-brand="cycleWASH"
     data-product-name="Station Basic"
     style="width:100vw; height:100vh">
</div>
<script src="https://unpkg.com/explodeview"></script>

Embedded in a product page

<div class="product-3d"
     data-stp-viewer="/assets/my-machine/"
     data-brand="ACME Corp"
     data-product-name="Widget Pro 3000"
     style="width:100%; height:500px; border-radius:12px; overflow:hidden">
</div>
<script src="https://unpkg.com/explodeview"></script>

Browser Support

Chrome 90+, Firefox 90+, Safari 15+, Edge 90+

Contributing

PRs welcome! See CONTRIBUTING.md.

License

MIT — free for personal and commercial use.


Built by Sachin Kumar — creator of cycleWASH, the world's first automated bicycle washing station.