Changelog
The Rigyd API is currently versionless — backwards-incompatible changes will be announced here with at least 30 days’ notice.
2026-10-28
Section titled “2026-10-28”POST /api/compositions/generatecan wrap a prototype-start failure as502with the failed composition indata. Inspect its ID andworkflow.errorbefore retrying.- Documentation corrections: the legacy
/geometry-alpharoute honors Auto on first attempts, result downloads return a ZIP directly or a legacy JSON URL fallback, and submission errors require state inspection before retrying. - Documented existing customer operations for interactive composition and editing and Build geometry revision. No new endpoints are introduced by these documentation additions.
2026-10-27
Section titled “2026-10-27”bodies[].collision.methodgains"remesh_refit". When the fallback collision is re-fitted to the modelled surface, the method says so instead of"remesh". Its hulls no longer stand proud of the surface. A client that switches onmethodshould treat an unknown value as the fallback.- A part that fits another part keeps its opening in the collision. In composition conversions, parts on either side of a fit (a battery slot’s walls, a connector’s nose, a tube’s body) are each decomposed on their own, so no hull bridges the opening between them. Such a body reports the least exact
methodamong its decompositions. - Press joints carry their return spring. A push button, key or latch tab appears in
report.joints[]withmechanism: "press",stiffness(N/m) andreturn_force_n(N). No other joint carries these fields. See Retrieve job.
2026-10-26
Section titled “2026-10-26”- Asset Composer defaults to Auto generation routing, with Physics Agent recommendations for Build (Three.js) or Generate (Tripo).
generation_methodis independent of simulation class and the Build engine. Composition responses include recommendation and attempt snapshots; retries retain their method.- Generate supports rigid assets, preserves the approved model for conversion, and uses the current Tripo SDK multiview input order.
2026-10-15
Section titled “2026-10-15”- A texture map on a second UV set is refused at submit.
POST /api/compositions/:id/submitnow returns422when the prototype’s GLB binds a texture map to a UV set other thanTEXCOORD_0, naming the node, material and slot, before any credit is reserved. The conversion reads one UV set per material, and such a GLB used to fail in the pipeline after the conversion job was created. Asset Composer now builds every map on the first UV set. See Submit a reviewed prototype.
2026-10-14
Section titled “2026-10-14”- A
.plywithout faces is refused at upload.POST /api/conversionsnow reads the PLY header and returns400when it declares no faces — a point cloud or a 3D Gaussian splat — before any credit is reserved. Before, such a file was charged, converted to an empty GLB and failed at the pipeline’sinputstage (then refunded). A.zipwhose model file is such a PLY is refused the same way. See Point clouds and Gaussian splats.
2026-10-05
Section titled “2026-10-05”SimReady 2026.08.0. Applies to both uploaded-model (glb_to_simready) and composition (authored_to_simready) conversions. Existing jobs are not re-scored.
- One targeted profile:
Robotics-Prop4.0.0. The spec pin moves to2026.08.0, where the foundation replacesProp-Robotics-Neutral,-Physxand-Isaacwith a singleRobotics-Propprofile for every prop, rigid or articulated. On 25 verification assets it agrees with NVIDIA’ssimready-validate 2026.8.0, with no real disagreement.report.validation.profileandtargeted_profilesnow name it, andspec_releaseis2026.08.0. Reports from earlier releases keep the old names (Articulated-Robotics-Neutralon some older composition jobs) withspec_release2026.06.0or2026.04.1— branch onspec_releaseortargeted_profiles, not on a hard-coded profile name. See Reports from earlier releases. - Isaac, PhysX, MuJoCo, Newton, multi-body and MDL are optional features inside
Robotics-Prop. Unmet feature codes are listed inprofiles["Robotics-Prop"].optional_unmet, feature names in.optional_features. “Passes for Isaac” isRobotics-PropPASSwithISA.001absent fromoptional_unmet; today Isaac is met and PhysX, Newton, MuJoCo and MDL are not. See optional features. - Do not badge
profiles_passing. A plain prop now also passesRobot-Body,Robot-GripperandPackage-Candidate, because their required checks are a subset ofRobotics-Prop’s at this release;profiles_passinglists all four. That is not a claim that the asset is a robot. Headlinetargeted_profiles, and show other profiles only with theirnot_targeted_because. Sixteen profiles are scored, up from nine. - New requirement codes, one renamed. The registry grows to 202 codes, up from 140. Newly checked:
SR.002(thumbnail),SR.004(provenance metadata),SL.001,SL.002,SL.003,SL.MAT.001,SL.QCODE.001,SL.TIME.001,VM.PS.002andVM.TEX.003.SL.NV.002is renamedSL.TIME.001, and the specification’s example codesEX.001–EX.003are gone. Reports carry 136 top-level checks. Full requirement coverage is regenerated against the new release. - Reports describe what was written into the USD. New optional top-level fields:
simready_metadata(author, the source asset’s license, extents, mass, category, Wikidata Q-code),classification(category from a closed list, Q-code and label, and who chose it),thumbnail,semantic_labels, andmaterial_slotson uploaded models. Each is{ "available": false }when its stage failed and absent on older reports. See Retrieve a job. - Uploaded models are sized by a blind estimate. The pipeline estimates the object’s real size from its renders without seeing the file’s dimensions. A file within a factor of two of that keeps its own size (
geometry.dimensions_source: "mesh"); one further off — exported in mm or cm, or normalised to a 1 m box — is rescaled to it ("estimated"). Before, the estimate was shown the file’s box and tended to repeat it, so normalised files shipped at their file size (a tennis ball at 0.26 m; now 0.067 m).declareddimensions still win. See Size, mass and materials. asset_licenserequest field. Optional onPOST /api/conversions(multipart field) andPOST /api/compositions/:id/submit(JSON body): the license of the source asset, up to 200 characters, defaultproprietary. You own what you upload; the USD’sauthoris alwaysRigyd. Invalid values return400.- The USD package carries a thumbnail and semantic labels.
usd/<name>/.thumbs/256x256/<name>.usd.pngsits in a dot folder that some unzip tools and file browsers hide./RootcarriesSemanticsLabelsAPIclassandwikidata_qcodelabels, and every Material amateriallabel. See Download result.
2026-09-23
Section titled “2026-09-23”Except where a line says otherwise, these apply to composition conversions (authored_to_simready). The geometry of uploaded 3D models (glb_to_simready) is unchanged.
- Collision geometry follows the modelled surface. Convex hulls used to be built around a voxelized copy of each part and could stand up to 4 mm proud of it — enough to press a cabinet door into its own floor so that it could not open. Hulls are now built from the surface itself and do not reach past it. Where that cannot be done for a part, the previous method is used for that part only.
- Flat support surfaces ship as exact box colliders. A worktop, shelf, belt or drawer floor that is a flat, axis-aligned slab is delivered as one box whose top face is the visual surface:
<geom type="box" name="support_…">in the MJCF, andCollisions/Support_<i>in the USD, colliding in bothcollision_modevariants. Other parts keep convex hulls. - Reports carry the simulation evidence. Every conversion’s report now includes
checks.simulation(the MJCF stepped in MuJoCo: settle or hold, resting contacts,issues). Composition conversions also includechecks.joint_sweep(every joint pushed across its declared range:travel_frac, andPASS/WARNING/ERRORper joint) andbodies[].collision(how each body’s collision was built and how far it reaches past the mesh). None of these fail a job. See Retrieve a job. - Printed labels with soft-edged transparency no longer fail the conversion. A label whose texture alpha varies per pixel (
alphaMode: "BLEND") used to fail the job. The USD now carries the blend exactly; the MJCF, which cannot blend per pixel, cuts the label out at 50% coverage.
2026-09-22
Section titled “2026-09-22”- Composition-to-SimReady conversion is free for both rigid and articulated prototypes. These handoffs use
authored_to_simready. Uploaded 3D models continue to useglb_to_simreadyat 5 credits; prototype generation is billed separately.
2026-09-21
Section titled “2026-09-21”- 3D-to-SimReady conversion costs 5 credits. This applies to uploaded 3D models. Composition-to-SimReady conversion remains at 0 credits. Failed paid conversions refund their conversion charge once. Query pricing for current costs.
2026-08-22
Section titled “2026-08-22”- CLI and Python SDK v1.1.0 add SimReady Asset Composer.
rigyd composeaccepts intent, a robotic task, optional reference images and physical context, then polls through prototype generation and optional SimReady submission.rigyd compositions list|get|submitexposes the workflow lifecycle for review and automation. - Validation docs now match the deployed
2026.06.0report. Current reports emit 130 top-level checks from a 140-code registry, score all nine profiles, and expose missing rules through each profile’sunchecked[].overallmay beWARNwhile every targeted profile passes, so integrations should badgeprofiles_passing. - Articulated composition is reflected across the validation guide. Articulated assets use the same NVIDIA requirement registry and prop-profile scoring as rigid assets; role-aware collision generation keeps decorative geometry visual-only and gives graspable surfaces a finer collision budget.
2026-08-21
Section titled “2026-08-21”- Unattended prompt composition added.
POST /api/compositions/generatecomposes and plans a prompt, generates a rigid or articulated prototype, and optionally submits it to SimReady withauto_submit=true. - Composition workflows added.
GET /api/compositions/:idnow includes normalized workflow status, stage, progress, assumptions, and errors for automated requests.
2026-08
Section titled “2026-08”-
Every conversion now passes all three prop profiles.
Prop-Robotics-PhysxandProp-Robotics-Isaacused to fail on two requirements; both shipped. The USD carries acollision_modevariantSet on/Root—sdfselected by default,convexHullstill authored and still drawable without variant support — and the asset is composed as akind = "component"entry point over apayloads/tree instead of one flattened file.profiles_passingnow names all three. See What’s covered today. -
The USD is composed, so a single
.usdfile is no longer the whole asset.usd/<name>/<name>.usdreferencespayloads/<name>_base.usd→<name>_meshes.usdand payloads<name>_physics.usd; opening the entry point without its siblings gives an empty stage. Result downloads now carry the wholeusd/tree, root layer first, for bothformat=usdandformat=all— if your code extracts one.usdfrom the archive, point it at the directory instead. See Download result. -
Spec pin moved to
2026.06.0.report.validation.spec_releasenames it. The release adds four requirement codes (140, up from 136), replacesCOL.001with thePHYSX.COL.001/PHYSX.COL.002pair in the prop profiles, and turns NVIDIA’s “optional feature” marker from a TOML comment into a real field. We author SDF colliders regardless ofCOL.001leaving the profiles. Full requirement coverage is regenerated against it. -
Correction to a correction:
RC.002does exist. It was removed from the coverage tables in the entry below, correctly at the time — release2026.06.0now defines it, and it is listed again on NVIDIA’s authority.VG.034,VM.D.001and theAR.*family remain removed and remain non-existent. -
Correction: a SimReady conformance failure never failed your job, and never refunded a credit. These pages previously stated that a conversion completes only when the asset clears the profile we target, and that a failing asset refunds your credit. Neither was true. A non-conformant asset is delivered like any other, with its verdict in
report.validation. What does fail a conversion is a correctness problem — USD/MJCF parity, an internal invariant, a missing export, a rejected manifest. See SimReady Validation and Job lifecycle. -
Correction: three requirement codes we published do not exist in the SimReady specification.
VG.034,VM.D.001andRC.002were ours, and they sat indistinguishable among the real ones on Full requirement coverage. So did a family ofAR.*codes, under a profile name —Articulated-Robotics-Neutral— that was never published. All are removed. The coverage tables are now generated from NVIDIA’s vendored metadata, so a code appears if and only if they define it: 136 codes, verified mechanically. -
report.validationgained per-profile scoring.profiles_passingis the field to badge, notoverall.profilesscores all nine published profiles with what each one fails;spec_releasenames the specification release scored against (currently2026.04.1);checks[].measured_statuscarries the raw finding wherestatusis scoped to the profiles we target;checks[].na_reasonexplains everyN/Afrom a fixed three-value vocabulary. A profile with no failures but unwritten rules now reportsINCOMPLETErather thanPASS. -
skip_validationno longer skips conformance scoring. Every conversion is scored and every completed job carriesreport.validation. The flag now only suppresses the internal correctness gate — leave it unset. -
The MJCF package in a result download lost a folder level.
mjcf/<name>/<name>.xmlis nowmjcf/<name>.xml, from a SimReadyNP.005folder-structure fix. The USD side of the download is unchanged. Breaking for anyone addressing files by path — see Download result. -
POST /api/conversions/generateretired. Text and image generation remains available through Asset Composer in the Rigyd app. The public API and CLI accept 3D-file conversion submissions only.
2026-06
Section titled “2026-06”- CLI & Python SDK released.
pip install rigydwraps the conversion API for terminal and Python use, including a MuJoCo model loader. See CLI & Python SDK. - Isaac Sim extension released (v1.0.0). The
rigyd.simreadyOmniverse Kit extension generates and loads SimReady assets onto the stage from inside NVIDIA Isaac Sim. See Isaac Sim extension.
2026-05
Section titled “2026-05”POST /api/conversions/generate—images[]count is now exactly 1 or 4 (was 1-4). Multiview is positional (Front, Right, Back, Left); partial selections caused malformed multiview submissions. Requests with 2 or 3 images now return422.- Initial public docs. Documents the conversion surface (
POST /api/conversions,POST /api/conversions/generate,POST /api/conversions/:id/simulate, plus the/api/conversions[/...]read endpoints). llms.txt/llms-full.txtpublished. AI agents can ingest the full API surface in one fetch fromhttps://docs.rigyd.com/llms-full.txt.
Earlier
Section titled “Earlier”For pre-public-docs history, see internal release notes.