
Render
Open CAD Explorer to visually review generated STEP, mesh, URDF, or SDF files and return shareable review links plus snapshots.
Overview
render is an agent skill most often used in Build (also Ship) that launches CAD Explorer to visually review explicit CAD and robot-description files and return review URLs plus snapshots.
Install
npx skills add https://github.com/earthtojake/text-to-cad --skill renderWhat is this skill?
- Visual review for `.step`, `.stp`, `.glb`, `.stl`, `.3mf`, `.dxf`, `.urdf`, `.srdf`, `.sdf`
- Handoff contract: explicit file paths from CAD, URDF, SRDF, SDF, or SendCutSend workflows
- Start or reuse viewer via `dev:ensure` with mandatory port reuse policy—no duplicate Vite servers
- Returns Explorer URL per file and saved snapshots for design feedback loops
- Escalate EPERM/EACCES on local binding instead of picking arbitrary ports
- 9 supported file extensions listed in skill contract (STEP/STP, GLB, STL, 3MF, DXF, URDF, SRDF, SDF)
Adoption & trust: 1.4k installs on skills.sh; 5.8k GitHub stars; 1/2 security scanners passed (skills.sh audits).
What problem does it solve?
You have generated CAD or URDF files but no reliable local viewer handoff or review links for yourself or collaborators.
Who is it for?
Indie makers and robotics builders using text-to-cad skills who need a disciplined localhost review step with snapshot sharing.
Skip if: Pure 2D UI mockups with no CAD assets, or teams that only review in unrelated commercial CAD suites without this repo's Explorer.
When should I use this skill?
User wants to render or visually review `.step`, `.stp`, `.glb`, `.stl`, `.3mf`, `.dxf`, `.urdf`, `.srdf`, or `.sdf`, especially after CAD or robot-description generation handoffs.
What do I get? / Deliverables
CAD Explorer is ensured on a reused port, each file gets an Explorer URL, and snapshots support explicit visual review before downstream fab or deploy steps.
- CAD Explorer URLs per requested file
- Saved snapshot links for review
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Build is canonical because rendering happens right after CAD or robot-description generation when you need to verify geometry before cutting metal or committing to sim. Frontend here means the local CAD Explorer viewer UX and review handoffs—not a marketing site.
Where it fits
Open a fresh STEP from a CAD generation skill and confirm tolerances before quoting SendCutSend.
Review URDF/SRDF after a robot-description skill so joint limits look correct in Explorer.
Capture a saved snapshot link for final mesh sign-off before ordering prints.
How it compares
Viewer orchestration skill for CAD Explorer—not a mesh generator; pair with CAD or URDF generation skills upstream.
Common Questions / FAQ
Who is render for?
Solo builders and agent users in the text-to-cad repo who need to inspect STEP, mesh, or URDF outputs in CAD Explorer after generation skills finish.
When should I use render?
In Build after CAD or robot-description generation; in Ship before sending parts to fabrication or publishing sim assets; when handed explicit paths to supported 3D or robot files.
Is render safe to install?
It runs local dev tooling and opens browser links—check Security Audits on this page and only render files you trust from your own project tree.
SKILL.md
READMESKILL.md - Render
# Render Use this skill to open generated or modified CAD and robot-description files in CAD Explorer. The expected input is one or more explicit file paths that already exist or were just generated by another skill. Supported files: `.step`, `.stp`, `.glb`, `.stl`, `.3mf`, `.dxf`, `.urdf`, `.srdf`, `.sdf`. ## Handoff Contract - Accept explicit file paths from CAD, URDF, SRDF, SDF, SendCutSend, or standard-part workflows. - Start or reuse CAD Explorer with `dev:ensure`; do not assume a fixed port. Treat `dev:ensure` as the viewer liveness check for returned links. - Treat port reuse as mandatory: if `dev:ensure` reports local binding/probing denial such as `EPERM` or `EACCES`, rerun the same `dev:ensure` command with the needed local-binding permission/escalation instead of choosing a new port yourself. - Do not use `npm run dev -- --port ...`, raw `vite dev`, or raw `vite preview` for normal agent handoffs; those bypass the reuse policy and can leave duplicate localhost Explorer servers running. - Return the printed Explorer URL for each requested file. - For generation review or visual feedback, prefer the snapshot CLI over opening the viewer manually or using Playwright. Viewer links are still returned for handoff/live review. - Generate GIFs only for CAD STEP-module parameter animation review. Otherwise use still snapshots, not GIFs. - If startup fails, report the failure and let the owning skill continue with its non-GUI validation. ## Commands From this skill directory: ```bash npm --prefix scripts/viewer run dev:ensure -- --file path/to/model.step ``` For saved headless snapshots, use the skill-level snapshot wrapper. It delegates into the viewer package's `scripts/viewer/snapshot` implementation: ```bash python3 scripts/snapshot --job path/to/render-job.json python3 scripts/snapshot --job - ``` Shortcut flags are available for common theme snapshots only: ```bash python3 scripts/snapshot \ --input path/to/model.step \ --output /tmp/model.png \ --mode view \ --theme technical \ --camera iso \ --view-labels ``` STEP module sidecar parameters can be supplied with `--params` for stills or animated parameter GIFs: ```bash python3 scripts/snapshot \ --input path/to/model.step \ --output /tmp/model.png \ --params '{"drive":180,"ringVisible":false}' python3 scripts/snapshot \ --input path/to/model.step \ --output /tmp/model.gif \ --params '{"values":{"ringVisible":true},"animate":{"drive":{"from":0,"to":1260}},"durationSeconds":6,"fps":18,"loop":true}' ``` The snapshot CLI defaults to `--theme technical`, a flat, high-contrast theme intended for visual diagnosis rather than presentation. `--theme` accepts a built-in theme name, an inline JSON theme object, or a path to a JSON theme file; set `theme.display.mode` to `solid` or `wireframe` for surface/wire output. `--params` targets Explorer `.step.js` STEP module sidecar parameters, not Python/build123d regeneration parameters. The snapshot CLI chooses default dimensions by request context when width/height are omitted: diagnostic stills 1600x1200, simple unlabeled parts 1200x900, sections/labeled/dimensioned views at least 1600x1200, complex assemblies 1800x1200 or 1920x1440 via `render.sizeProfile`, presentation renders 2400x1600 or 2800x1800 via `render.sizeProfile`, STEP-module parameter GIFs 960x640, and contact sheets at least 2400 px wide. Keep transparent snapshots presentation-oriented unless transparency answers a concrete overlap, collision, or internal-relationship question. Use JSON jobs for custom theme settings, selections, sections, orbit settings, robot joint v