feat: interactive 3D assembly viewer for quiver docs - #174
feat: interactive 3D assembly viewer for quiver docs#174thomasgarrison wants to merge 5 commits into
Conversation
|
Note for reviewers: the Spelling Check failure on the first CI run was pre-existing breakage on This branch reverts the clobber to get CI green, but the lasting fix belongs in Arrow-air/tf-github: either templatize per-repo cspell ignores or exclude 🤖 Generated with Claude Code |
QuiverModelViewer renders the per-subassembly Draco GLBs exported by project-quiver (docs/3D-Model/models/, mirrored to static by the import script) in a react-three-fiber canvas with a BOM checkbox tree, hover part identification, and orbit controls. Registered globally in MDXComponents for use from imported quiver MDX pages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Hover identification now follows the cursor with a stronger highlight (the corner chip was easy to miss), dedup suffixes are stripped from part names, the parts tree can collapse to give the canvas the whole card, and pages embedding the viewer lift the docs content-width caps via a stable .quiver-model-viewer hook (other pages keep the 860px prose width). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
--ifm-background-color resolves to `transparent` in light mode, so the chip rendered white-on-nothing. Use explicit colors instead. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ords The June 7 terraform sync (87c9ff8, pushed with a skip-ci marker) removed the repo-specific cspell ignorePaths (static, package-lock, imported quiver docs), silently breaking the spelling check on staging; this PR's CI run was the first to surface it. Reverted, and added the 3D viewer vocabulary to the project word list. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Quiver part labels are now normalized to BOM-numbered STEP filename stems (e.g. 1111_upper_plate), so the tooltip prettifier needs to replace underscores too. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
d32fa21 to
03d6a85
Compare
Companion to Arrow-air/project-quiver#225 (which adds the GLB models + the
docs/3D-Model.mdxpage that uses this component). The page renders the fallback until that PR merges and the models flow through the docs import.What & why
QuiverModelViewer(src/components/QuiverModelViewer/): react-three-fiber viewer for the per-subassembly Draco GLBs exported by project-quiver. BOM checkbox tree (tri-state categories, show/hide all, collapsible to give the canvas the full card), orbit/zoom controls, cursor-following hover tooltip with part names. Wrapped inBrowserOnly+React.lazyso SSR stays clean.MDXComponents.tsxso imported quiver MDX pages can use it directly..quiver-model-viewerhook incustom.css(exception placed next to the 75%-column rule it overrides); all other pages keep the 860 px prose width — verified.*.glbadded to the import script's watch-mode fingerprint.three,@react-three/fiber,@react-three/drei(+ types). Draco decoder comes from the gstatic CDN via drei's default.Verification (production build, headless Chromium)
--ifm-background-coloristransparentin light mode, which made the first version's chip text invisible)🤖 Generated with Claude Code