Docs
/
what you can do

Digital Reality

<!-- GENERATED by ops/tools/skill-sync — do not edit by hand. Run pnpm skills:sync. -->

<!-- GENERATED by ops/tools/skill-sync — do not edit by hand. Run pnpm skills:sync. -->

Digital Reality — what you can do

/admin/d/digital-reality · pillar media

Design real parts, measure real things, and compile intent into something a machine could make.

Tabs

Every one is a real URL. A tab with its own section below carries a real job.

TabPathGroupWhat it is for
designs---
compose---
capture---
fabricate---
formats---

Tools an agent can call here

These are live page capabilities: they exist only while that surface is open, and they call the page's own mutators, so a change made through one is a change the operator can see. A tool missing from this list is not callable — reach for the API or an adapter instead.

digital-reality:compiler — Digital Reality Compiler

Source: digital-reality/model/useDigitalRealityCapabilities.js

What the page tells an agent about itself:

The user is designing a physical part. You produce DESIGN INTENT — a feature program — and a deterministic CAD kernel turns it into geometry. You never produce geometry, coordinates or a mesh yourself. ALWAYS call get_design_vocabulary before writing your first design in a session. The feature ops are a small closed set and a guessed op fails to compile. Everything is millimetres and Z-up. Angles are degrees. A cylinder is an n-gon prism, so a "hole" is a cylinder subtracted from a body. Prefer evaluate_design (which stores nothing) while you are still working out dimensions, then compile_design once. Use named parameters and reference them as { "quot;: "name" } so a later change is one number rather than nine. You cannot fabricate anything. plan_fabrication is a dry run: it produces the manufacturing file and the slicer command and stops. Physical execution needs a human approval token, which is deliberately not available to you. Report what you actually made: the measured dimensions and volume come back from the compiler, so quote those rather than the numbers you asked for. A design can make SEVERAL pieces. Declare parts: [{id, feature, label, quantity}], join them with joints: [{id, kind, between, seam, fit}], and list anything BOUGHT rather than made in hardware: [{id, kind, spec, quantity}] — a build package that omits the screws is one nobody can build from. When a part is refused for being too big, call split_to_fit rather than shrinking the design. That is what the refusal is telling you to do, and the pieces come back jointed.
ToolArgsDoes
get_design_vocabularyThe feature ops, primitive shapes and sketch profiles a design may use, with the units, angle convention and coordinate frame. Served from the compiler itself, so it is never out of date. Call this FIRST.
list_designsEvery part this account has compiled: id, its result feature, how many features it has, and which formats it has been exported as. Up to ${MAX_LIST}.
get_designdesignIrIdOne design in full — its feature program, named parameters, measured dimensions and volume. Read this before editing a design you did not just make.
list_partsdesignIrIdThe PIECES a design makes — each with its own measured dimensions, its files, and how many of it the product needs. Also the joints between them and the hardware that has to be bought. Read this before reasoning about a multi-part design: a design reports the UNION of every piece, which answers a different question from "does this piece fit the bed".
list_machinesThe machine profiles this install knows — build volume, process and materials for each. Read before planning a fabrication, so you suggest a machine that exists.
list_export_formatsWhat this build can export, which formats are safe to hand to a machine, and which it refuses. STEP is refused rather than faked — say so if the user asks for it.
evaluate_designdesignCompile a feature program and measure it WITHOUT storing anything. The working path: iterate here until the dimensions are right, then compile_design once. Returns exact dimensions, volume, surface area and body count — or a refusal naming the feature that failed.
compile_designdesign nameStore a feature program as a design. The geometry is proved to build BEFORE the document is written, so a stored design always corresponds to a real solid. Returns its id and its exact measurements. Use this once you are happy with evaluate_design.
edit_designdesignIrId operationsChange an existing design by stating typed operations — setParameter, setDiameter, scaleFeature, setFeatureField, addFeature, removeFeature, setResult. Produces a NEW design whose parent is the old one; the original is never modified. All-or-nothing: if one operation cannot be applied, none are.
export_designdesignIrId formatsWrite a design out as real files in the user's vault: 3mf (what a slicer wants), stl, obj, glb (preview). Returns the assets, and refused for any format this build cannot produce.
plan_fabricationdesignIrId machineId materialIdDRY RUN ONLY. Check a design against a real machine profile and, if it passes, produce the manufacturing file, the exact slicer command, and material/time/cost estimates. A part that does not fit, or a material the machine cannot run, comes back refused with both numbers and what to do about it. THIS DOES NOT FABRICATE ANYTHING and there is no tool that does — physical execution needs a human approval token.
split_to_fitdesignIrId machineId joinery fitCut a part that is too big for a machine into JOINTED PIECES that fit, and store the result as a new design. Use this the moment plan_fabrication refuses with build-volume-exceeded — it is the answer to that refusal, not a workaround. The pieces are joined by dowels unless you ask for a finger joint, a thread or a lap; the fit is coarsened automatically if the process cannot hold what you asked for, and you are told when it was. The original design is untouched.
plan_builddesignIrId machineId materialId multiplierTHE WHOLE BUILD, dry run. Lays every piece out on build plates, writes one manufacturing file per plate, produces the bill of materials — what to make AND what to buy — the order to assemble it in, and the exact command each plate would be handed. This is what "make me this thing" produces. It still fabricates nothing: there is no tool that can.
show_designdesignIrIdPut a design on screen, so what you are talking about and what the user is looking at are the same thing.
Source .claude/skills/leumas-studio/reference/domains/digital-reality.md (no-git)markdownjson
Generated from the Leumas repository. Every page cites the file it came from.leumas.techllms.txt