L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

explorer-viewer-builder

explorer-viewer-builder

Use when asked to build a 3D viewer for a GLB model, make an interactive explorer with clickable labelled parts, add an exploded view or quiz to a 3D model, or turn a parts list into a web page. Produces a single-file Three.js viewer that loads GLB models, with orbit controls, clickable labelled parts, an exploded view toggle and a quiz mode, built from the…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: explorer-viewer-builder description: "Use when asked to build a 3D viewer for a GLB model, make an interactive explorer with clickable labelled parts, add an exploded view or quiz to a 3D model, or turn a parts list into a web page. Produces a single-file Three.js viewer that loads GLB models, with orbit controls, clickable labelled parts, an exploded view toggle and a quiz mode, built from the tested template in references/viewer-template.html. Third step of explorer-pipeline." version: 1.0.0

Explorer Viewer Builder

The last step of a 3D explorer is a page anyone can open: no install, no build step, works on a phone. This skill produces a single HTML file from the tested template in references/viewer-template.html: Three.js from a CDN, a GLB loader, orbit controls, clickable parts with sourced labels, an exploded view and a quiz mode, filled in with the parts list and palette from the earlier steps.

Required Inputs

Ask for these if not provided:

  • The GLB file (path or URL), or confirmation to start with the template's demo assembly
  • The parts list: mesh name, label, description and source for each part (from model-prompt-pack)
  • Palette and layout values (from explorer-interface-brief), or accept the template defaults
  • Title and the illustrative statement
  • Hosting: GitHub Pages, a static host, or opening the file locally (GLB files need a local server; browsers block file:// loading)

Output Structure

1. The viewer file

A complete index.html based on the template, with:

  • CONFIG filled in: title, model, and parts (one entry per mesh name, each with label, description and source)
  • Palette applied to the CSS custom properties, with a dark-mode block
  • The illustrative statement in the panel footer
  • unchanged core behaviour from the template: orbit controls with damping; click (or tap) to select, ignoring drags; selection through the parts list for keyboard users; exploded view that moves each part away from the model's centre in its parent's space; quiz mode that asks for a random part, scores answers and highlights the right part after a miss; reset view; a demo fallback and a console warning if the model fails to load; a list of the model's mesh names when none match the parts list

2. Mesh-name check

A table matching the parts list against the mesh names the viewer reports (open the page with the model and read the panel, or the console): | Mesh name in parts list | Found in GLB? | Action |

3. Run and publish instructions

  • Local: npx serve . (or python3 -m http.server) in the folder, then open the printed address
  • GitHub Pages: commit index.html and the .glb, enable Pages for the branch, and note the file-size limits
  • Performance: keep the GLB under 15 MB; compress textures; test on a mid-range phone

4. Test checklist

Binary checks to run in a browser: the model appears; each part in the list highlights and shows its label and source; dragging rotates without selecting; exploded view separates every labelled part and reverses; quiz mode scores a right and a wrong answer; the page has no horizontal scroll at 390 px wide; dark mode is readable; the console shows no errors.

Quality Checks

  • The output is a single HTML file with no build step
  • Every entry in CONFIG.parts has a label, a description and a source
  • Every parts-list mesh name is checked against the GLB, with mismatches listed
  • Parts can be selected from the keyboard through the parts list
  • Exploded view and quiz mode both work and can be turned off
  • The illustrative statement is visible on the page
  • The page works at 390 px width and in dark mode with no console errors
  • Three.js is loaded from a pinned version, not "latest"

Anti-Patterns

  • Opening the HTML by double-clicking with a local GLB. Browsers block it; use a local server.
  • Labels without sources. The viewer shows the source line for a reason; never leave it blank.
  • Selecting on pointer down. Every rotation then selects a part; select on a click without movement.
  • Unpinned CDN versions. A Three.js update can break the page overnight.

Example Trigger Phrases

  • "Build a viewer for heart.glb with clickable labelled parts and a quiz."
  • "Turn this parts list into a single-file Three.js explorer."
  • "Add an exploded view and quiz mode to my 3D model page."
  • "Make a GLB viewer that works on phones, no build step."
Skills enregistrées