12 min read
cad-viewer
Generated source view for the actual executable
engineering/cad-viewerskill. The durable routing article is Security and Review Skills. Source: skills/engineering/cad-viewer/SKILL.md
Runtime Source
| Field | Value |
|---|---|
| Category | engineering |
| Origin | external |
| Slug | cad-viewer |
| Source slug | cad-viewer |
| Family | Security and Review Skills |
| Source | skills/engineering/cad-viewer/SKILL.md |
Bundled Resources
These files are part of the executable skill folder and must be preserved with the skill source.
| File | Role |
|---|---|
LICENSE |
Bundled resource |
agents/openai.yaml |
Agent UI metadata |
references/moveit2-server.md |
Progressive reference |
references/viewer-features.md |
Progressive reference |
requirements.txt |
Bundled resource |
scripts/viewer/.gitignore |
Executable helper |
scripts/viewer/dist/assets/BufferGeometryUtils-xu92ooFc.js |
Executable helper |
scripts/viewer/dist/assets/GLTFLoader-B3ztFMBW.js |
Executable helper |
scripts/viewer/dist/assets/STLLoader-C7hGonJR.js |
Executable helper |
scripts/viewer/dist/assets/favicon-C-31TkWB.ico |
Executable helper |
scripts/viewer/dist/assets/glbMeshWorker-BiseG5-w.js |
Executable helper |
scripts/viewer/dist/assets/index-BAf9AUFV.css |
Executable helper |
scripts/viewer/dist/assets/index-BhvgqhHI.js |
Executable helper |
scripts/viewer/dist/assets/index-DHvoFMtA.js |
Executable helper |
scripts/viewer/dist/assets/index-DtrvzEgX.js |
Executable helper |
scripts/viewer/dist/assets/parseSdf-DViMt5z4.js |
Executable helper |
scripts/viewer/dist/assets/parseSrdf-op4wxM2U.js |
Executable helper |
scripts/viewer/dist/assets/parseUrdf-DQzGLZi1.js |
Executable helper |
scripts/viewer/dist/assets/stlMeshWorker-B6n9DT_S.js |
Executable helper |
scripts/viewer/dist/assets/three.module-BB51Dq4E.js |
Executable helper |
scripts/viewer/dist/assets/three.module-DJHaYUcg.js |
Executable helper |
scripts/viewer/dist/assets/vendor-icons-BnaPp1EU.js |
Executable helper |
scripts/viewer/dist/assets/vendor-react-7jnMmQ9s.js |
Executable helper |
scripts/viewer/dist/assets/vendor-three-D3ixFK8V.js |
Executable helper |
scripts/viewer/dist/assets/vendor-ui-KJd670JQ.js |
Executable helper |
scripts/viewer/dist/index.html |
Executable helper |
scripts/viewer/moveit2_server/__init__.py |
Executable helper |
scripts/viewer/moveit2_server/check-moveit2-server.sh |
Executable helper |
scripts/viewer/moveit2_server/conda-common.sh |
Executable helper |
scripts/viewer/moveit2_server/environment.yml |
Executable helper |
scripts/viewer/moveit2_server/moveit2_server/__init__.py |
Executable helper |
scripts/viewer/moveit2_server/moveit2_server/context.py |
Executable helper |
scripts/viewer/moveit2_server/moveit2_server/dispatcher.py |
Executable helper |
scripts/viewer/moveit2_server/moveit2_server/joint_state_seed.py |
Executable helper |
scripts/viewer/moveit2_server/moveit2_server/moveit_py.py |
Executable helper |
scripts/viewer/moveit2_server/moveit2_server/protocol.py |
Executable helper |
scripts/viewer/moveit2_server/moveit2_server/server.py |
Executable helper |
scripts/viewer/moveit2_server/moveit2_server/srdf_source.py |
Executable helper |
scripts/viewer/moveit2_server/pyproject.toml |
Executable helper |
scripts/viewer/moveit2_server/run-moveit2-server.sh |
Executable helper |
scripts/viewer/moveit2_server/setup.sh |
Executable helper |
scripts/viewer/package.json |
Executable helper |
scripts/viewer/packages/cadgen/LICENSE |
Executable helper |
scripts/viewer/packages/cadgen/pyproject.toml |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/__init__.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/__init__.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/assembly_spec.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/cli_errors.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/cli_locking.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/component_package.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/drawing_package.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/file_metadata.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/generation.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/glb.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/glb_mesh_payload.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/glb_topology.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/implicit_package.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/node_resolve_hooks.mjs |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/node_resolve_register.mjs |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/node_runtime.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/package_freshness.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/source_hash.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/step_hash.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/step_metadata.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/step_scene.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/stl.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/threemf.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/_internal/validators.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/analysis.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/api.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/assembly.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/cad_ref_syntax.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/catalog.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/cli_logging.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/cli_progress.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/color.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/coordination/__init__.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/coordination/kinds.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/coordination/lock.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/coordination/paths.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/coordination/phases.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/coordination/record.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/drawing_checks.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/drawing_render.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/dxf_artifact.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/flatten.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/generation.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/implicit_artifact.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/implicit_export.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/instances.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/interference.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/lookup.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/metadata.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/progress.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/py.typed |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/render.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/reporting.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/selector_types.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/snapshot_cli.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/snapshot_core.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/sources.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/step_artifact.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/step_artifacts.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/step_export.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/step_export_target.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/step_scene.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/step_targets.py |
Executable helper |
scripts/viewer/packages/cadgen/src/cadgen/validity.py |
Executable helper |
scripts/viewer/packages/cadjs/bench/composePackageBench.mjs |
Executable helper |
scripts/viewer/packages/cadjs/bin/dxf-artifact.mjs |
Executable helper |
scripts/viewer/packages/cadjs/bin/implicit-artifact.mjs |
Executable helper |
scripts/viewer/packages/cadjs/bin/implicitClosure.mjs |
Executable helper |
scripts/viewer/packages/cadjs/bin/implicitClosureHooks.mjs |
Executable helper |
scripts/viewer/packages/cadjs/package-lock.json |
Executable helper |
scripts/viewer/packages/cadjs/package.json |
Executable helper |
scripts/viewer/packages/cadjs/scripts/run-tests.mjs |
Executable helper |
scripts/viewer/packages/cadjs/src/common/cadScene.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/camera.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/displayRecordTransform.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/displaySettings.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/headlessJobKind.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/headlessOrbitFrames.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/headlessRenderEntry.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/render.html |
Executable helper |
scripts/viewer/packages/cadjs/src/common/renderEdges.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/renderMeshScene.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/renderModel.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/renderOptions.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/source.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/stepModule.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/stepModuleEffects.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/stepParameters.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/stepTopology.mjs |
Executable helper |
scripts/viewer/packages/cadjs/src/common/themeSettings.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/topologyDisplayEdgeRuntime.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/topologyDisplayEdges.js |
Executable helper |
scripts/viewer/packages/cadjs/src/common/webglRenderer.js |
Executable helper |
scripts/viewer/packages/cadjs/src/glb/writeGlb.js |
Executable helper |
scripts/viewer/packages/cadjs/src/implicit/export.js |
Executable helper |
scripts/viewer/packages/cadjs/src/implicit/exportModel.js |
Executable helper |
scripts/viewer/packages/cadjs/src/implicit/graphicsSettings.js |
Executable helper |
scripts/viewer/packages/cadjs/src/implicit/loader.js |
Executable helper |
scripts/viewer/packages/cadjs/src/implicit/model.js |
Executable helper |
scripts/viewer/packages/cadjs/src/implicit/parameters.js |
Executable helper |
scripts/viewer/packages/cadjs/src/implicit/render.js |
Executable helper |
scripts/viewer/packages/cadjs/src/index.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/assembly/meshData.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/async/concurrency.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/cadRefs.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/displaySettings.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/dxf/buildPreviewMesh.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/dxf/foldPreview.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/dxf/parseDxf.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/dxf/previewGlb.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/entryAssets.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/fileFormats.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/pathUtils.mjs |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/perspective.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/glbMeshData.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/glbMeshWorker.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/glbMeshWorkerClient.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/meshCost.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/meshLoaders.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/meshTransfer.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/stlMeshData.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/stlMeshWorker.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/stlMeshWorkerClient.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/render/threeMfMeshData.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/renderAssetClient.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/renderAssetSourceScope.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/renderCapabilities.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/selectors/runtime.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/step/stepModule.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/step/stepTree.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/stepRenderAssetClient.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/themeSettings.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/urdf/jointAnimation.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/urdf/kinematics.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/urdf/loadRobot.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/urdf/motion.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/urdf/moveit2ServerClient.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/urdf/parseSdf.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/urdf/parseSrdf.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/urdf/parseUrdf.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/autoZoom.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/clipPlane.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/constants.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/displayEdgePolicy.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/drawingCanvas.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/drawingGeometry.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/drawingTools.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/explodedView.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/modelRuntime.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/partHighlight.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/partVisualState.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/pickingThresholds.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/raycastBvh.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/referenceGeometry.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/renderQuality.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/sceneScale.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/screenshotCapture.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/selectorPickGroups.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/stageGrid.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/stageTheme.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/surfaceLineGeometry.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/surfaceMaterials.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/topologyDisplayEdgeLine.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/urdfPosePicker.js |
Executable helper |
scripts/viewer/packages/cadjs/src/lib/viewer/webglSupport.js |
Executable helper |
scripts/viewer/packages/implicitjs/package-lock.json |
Executable helper |
scripts/viewer/packages/implicitjs/package.json |
Executable helper |
scripts/viewer/packages/implicitjs/scripts/export.mjs |
Executable helper |
scripts/viewer/packages/implicitjs/scripts/run-tests.mjs |
Executable helper |
scripts/viewer/packages/implicitjs/scripts/verify-implicit-cad-exports.mjs |
Executable helper |
scripts/viewer/packages/implicitjs/src/browser.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/common/camera.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/common/implicitHeadlessOrbitFrames.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/common/implicitHeadlessRenderEntry.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/common/parameters.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/common/renderOptions.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/common/themeSettings.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/index.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/glb/assertWriteLock.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/glb/bytes.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/glb/progressStream.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/glb/writeGlb.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/__baselines__/sdfEquality.json |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/animation.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/export.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/exportModel.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/exporters.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/graphicsSettings.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/loader.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/mesh.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/meshQuality.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/meshWorkerEntry.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/meshWorkers.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/model.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/render.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/renderGlb.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/schema.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/sdfCompiler.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/sdfEvaluator.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/sdfFieldReference.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/implicitCad/snapshot.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/viewer/stageTheme.js |
Executable helper |
scripts/viewer/packages/implicitjs/src/lib/viewer/surfaceMaterials.js |
Executable helper |
scripts/viewer/requirements.txt |
Executable helper |
scripts/viewer/server_py/__init__.py |
Executable helper |
scripts/viewer/server_py/artifact.py |
Executable helper |
scripts/viewer/server_py/backend.py |
Executable helper |
scripts/viewer/server_py/cadgen_bridge.py |
Executable helper |
scripts/viewer/server_py/content_types.py |
Executable helper |
scripts/viewer/server_py/encoding.py |
Executable helper |
scripts/viewer/server_py/natural_sort.py |
Executable helper |
scripts/viewer/server_py/paths.py |
Executable helper |
scripts/viewer/server_py/save_dialog.py |
Executable helper |
scripts/viewer/server_py/scanner.py |
Executable helper |
scripts/viewer/server_py/server.py |
Executable helper |
scripts/viewer/server_py/server_info.py |
Executable helper |
scripts/viewer/server_py/start_viewer.py |
Executable helper |
scripts/viewer/server_py/urls.py |
Executable helper |
scripts/viewer/server_py/worker.py |
Executable helper |
scripts/viewer/server_py/worker_client.py |
Executable helper |
Description
Start CAD Viewer and return review links for explicit CAD, implicit CAD, and robot-description files. Use when visually reviewing .step, .stp, .implicit.js, .implicit.mjs, .glb, .stl, .3mf, .dxf, .urdf, .srdf, or .sdf files, especially when handed off from CAD, implicit-cad, URDF, SRDF, or SDF generation skills.
Skill Source
---
name: cad-viewer
description: Start CAD Viewer and return review links for explicit CAD, implicit CAD, and robot-description files. Use when visually reviewing `.step`, `.stp`, `.implicit.js`, `.implicit.mjs`, `.glb`, `.stl`, `.3mf`, `.dxf`, `.urdf`, `.srdf`, or `.sdf` files, especially when handed off from CAD, implicit-cad, URDF, SRDF, or SDF generation skills.
origin: external
source_slug: cad-viewer
---
# CAD Viewer
Provenance: maintained in [earthtojake/text-to-cad](https://github.com/earthtojake/text-to-cad).
Use the installed local skill files as the runtime source of truth; the
repository link is only for provenance and release review. If the user asks to
modify, debug, or iterate on CAD Viewer source itself, clone that repository and
work there — this installed skill runtime runs the Viewer, it is not where you
edit it.
Use this skill to open existing or newly generated CAD, implicit CAD,
robot-description, or DXF files in CAD Viewer and hand back live review links. The expected input is one or more explicit file paths.
## Start Viewer
Start one local CAD Viewer with `npm run start`. It serves the prebuilt Viewer
bundle plus the CAD API on a single fixed port (`3245`). It is NOT started
against a directory — a URL names the directory, so one Viewer serves any folder.
> The default port `3245` is `0xCAD` — "CAD" in hexadecimal.
Run from this skill directory:
```bash
npm --prefix scripts/viewer run start -- --host 127.0.0.1
```
## URL shape
A Viewer URL's **path is the absolute directory**, exactly as in a `file://` URL,
and `file=` selects one artifact inside it:
```text
http://127.0.0.1:3245/absolute/project/models?file=mechanisms/lift_table.step.py
```
**Always build the path from an absolute directory.** The Viewer runs from an
arbitrary working directory — usually wherever the skill happens to be installed,
not the model directory — so a relative path resolves against the wrong place.
The `file=` value is relative to that directory.
**On Windows the drive goes in the path, after the URL's leading slash**, with
forward slashes: `D:\project\models` is `http://127.0.0.1:3245/D:/project/models`.
The launcher prints this form already; build it the same way by hand.
**The path is the workspace, not the file's folder.** The Viewer scans it
recursively, so the file browser lists every model beneath it and the user can
switch files without a new link. Pick the directory the user thinks of as their
model workspace — typically the project's `models/` directory, or the nearest
common parent of the files you were asked to review — and put the rest of the
path in `file=`. Naming the artifact's own deep folder
(`.../models/step/mechanisms?file=lift_table.step.py`) opens the same model but hides
the rest of the project, which is almost never what the user wants.
If port `3245` is already in use, the launcher exits with an error rather than
rolling to another port; rerun with an explicit free port, `--port <n>`, and use
the URL it prints. In sandboxed agent environments, local binding failures such
as `EPERM`/`EACCES` can be expected; rerun with the needed permission/escalation.
Add `--json` to also print a machine-readable result as the last stdout line
beginning with `{` (`{"url": ..., "port": ..., "action": "start"}`). The printed
URL points at the launch directory; replace its path to review any other folder.
## Links
- Before returning any link, resolve `<directory>/<file>` and confirm it
exists. For a **generated** model pass the generator source (`<name>.step.py`)
— that is what the catalog itself lists, the backend resolves it directly and
builds the render artifacts on demand, and no `.step` file needs to exist. It
is also the only form that carries a `params` sidecar, because a same-stem
`<name>.step.py` shadows `<name>.step` anyway. For an **imported** STEP with no
generator, pass the `.step`/`.stp` itself. If the resolved path is missing, do
not return the link; report the problem and point to the correct path.
- Return one Viewer URL per requested file.
- Start the Viewer once and pick one workspace root for the session. Every link
is that same absolute root plus `?file=<path relative to it>`, so all of them
share one browsable catalog. Only use a second root for an artifact that lives
outside the first.
- For directory-only review links, return the directory URL without `?file=`.
- Do not stop an existing Viewer server unless the user asks.
- If Viewer startup fails, report the failure and continue with the owning skill's non-GUI validation or artifacts.
## References
- Read `references/viewer-features.md` when you need supported file types, Viewer controls, or file-specific feature details.
- Read `references/moveit2-server.md` only when the user specifically needs optional SRDF MoveIt2 IK or path-planning controls.
Timeline
- 2026-09-12 | Generated a browseable source page from the actual executable skill file. Source: skills/engineering/cad-viewer/SKILL.md