whole-attribute keyword: the empty signature bitflags: tokens combine bitwise, canonical order enforced object kinds with a spatial frame bitflags: keywords combine bitwise bitflags: keywords combine bitwise bitflags: keywords combine bitwise vestigial: composite pruning left a single kind children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): compiler (*), option (*), size (*), statistic (*), visual (*), default (R), extension (*), asset (*), body (R), deformable (*), contact (*), tendon (*), equality (*), actuator (*), sensor (*), custom (*), keyframe (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): lengthrange (?) stored on the spec deprecation error fans out to mesh/texturedir children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): flag (?) bits of disableactuator constraint: at most one of: memory, nstack constraint: at most one of: memory, njmax suffixed byte count range/exclusivity checks range check range/exclusivity checks when defined children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): global (?), quality (?), headlight (?), map (?), scale (?), rgba (?) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): default (R), mesh (?), material (?), joint (?), geom (?), site (?), camera (?), light (?), pair (?), default_equality (?), default_tendon (?), general (?), motor (?), position (?), velocity (?), intvelocity (?), orientation (?), pid (?), damper (?), cylinder (?), muscle (?), adhesion (?), dcmotor (?) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): extension_plugin (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): mesh (*), hfield (*), skin (*), texture (*), material (*), model (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): body (*), frame (*), replicate (*), geom (*), attach (*), site (*), camera (*), light (*), plugin (*), composite (*), flexcomp (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): flex (*), skin (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): pair (*), exclude (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): spatial (*), fixed (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): connect (*), weld (*), equality_joint (*), equality_tendon (*), equality_flex (*), flexvert (*), flexstrain (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): general (*), motor (*), position (*), velocity (*), intvelocity (*), orientation (*), pid (*), damper (*), cylinder (*), muscle (*), adhesion (*), dcmotor (*), actuator_plugin (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): touch (*), accelerometer (*), velocimeter (*), gyro (*), force (*), torque (*), magnetometer (*), camprojection (*), rangefinder (*), jointpos (*), jointvel (*), tendonpos (*), tendonvel (*), actuatorpos (*), actuatorvel (*), actuatorfrc (*), jointactuatorfrc (*), tendonactuatorfrc (*), ballquat (*), ballangvel (*), jointlimitpos (*), jointlimitvel (*), jointlimitfrc (*), tendonlimitpos (*), tendonlimitvel (*), tendonlimitfrc (*), framepos (*), framequat (*), framexaxis (*), frameyaxis (*), framezaxis (*), framelinvel (*), frameangvel (*), framelinacc (*), frameangacc (*), subtreecom (*), subtreelinvel (*), subtreeangmom (*), insidesite (*), distance (*), normal (*), fromto (*), sensor_contact (*), e_potential (*), e_kinetic (*), clock (*), tactile (*), user (*), sensor_plugin (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): numeric (*), text (*), tuple (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): key (*) constraint: at most one of: builtin, file constraint: at most one of: builtin, vertex children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): plugin (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): layer (*) saved unless free saved for slide/hinge compile directive: saved as stiffness/damping saved unless free saved for slide/hinge spring polynomial, 1+mjNPOLY coefficients damper polynomial, 1+mjNPOLY coefficients children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): plugin (*) saved length is type-dependent mass/density: one is saved saved unless mesh compile directive: saved as pos/quat/size saved in the mesh-corrected frame compile directive: not saved saved length is type-dependent compile directive: saved as pos/quat/size constraint: at most one of: fovy, sensorsize fovy or the intrinsics family is saved constraint: at most one of: directional, type damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated saved default depends on dyntype so3 chart keyword, or servo token subset gain/bias family is not saved for plugin actuators damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated alias: the position-setpoint range damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated token subset, or the none keyword children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): instance (*) constraint: at most one of: builtin, file constraint: at most one of: builtin, vertex children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): plugin (*) flipped and zero-filled children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): bone (*) length must equal the gridsize product children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): layer (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): body (R), frame (R), replicate (*), inertial (?), joint (*), freejoint (*), geom (*), attach (*), site (*), camera (*), light (*), plugin (*), composite (*), flexcomp (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): body (R), frame (R), replicate (*), inertial (?), joint (*), freejoint (*), geom (*), attach (*), site (*), camera (*), light (*), plugin (*), composite (*), flexcomp (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): body (*), frame (*), replicate (R), inertial (?), joint (*), geom (*), attach (*), site (*), camera (*), light (*), plugin (*), composite (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): plugin (*) saved length is type-dependent mass/density: one is saved saved unless mesh compile directive: saved as pos/quat/size saved in the mesh-corrected frame compile directive: not saved constraint: at most one of: body, frame saved length is type-dependent compile directive: saved as pos/quat/size constraint: at most one of: fovy, sensorsize fovy or the intrinsics family is saved constraint: at most one of: directional, type children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): config (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): composite_joint (*), composite_skin (?), composite_geom (?), composite_site (?), plugin (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): flexcomp_edge (?), elasticity (?), flexcomp_contact (?), pin (*), plugin (*) children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): flexcomp_contact (?), flex_edge (?), elasticity (?) space-separated body names space-separated body names node positions within body frames seeded before reading lowers to interpolation order children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): spatial_site (*), spatial_geom (*), pulley (*) one value: copied to both spring polynomial, 1+mjNPOLY coefficients damper polynomial, 1+mjNPOLY coefficients children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): fixed_joint (*) one value: copied to both spring polynomial, 1+mjNPOLY coefficients damper polynomial, 1+mjNPOLY coefficients constraint: at most one of: site1+site2, body1+body2+anchor constraint: at least one of: site1+site2, body1+anchor constraint: together or absent: site1, site2 constraint: at most one of: site1+site2, body1+body2+anchor+relpose constraint: at least one of: site1+site2, body1 constraint: together or absent: site1, site2 damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated transmission target saved default depends on dyntype so3 chart keyword, or servo token subset gain/bias family is not saved for plugin actuators damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated alias: the position-setpoint range damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated token subset, or the none keyword children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): config (*) damper polynomial, 1+mjNPOLY coefficients slidercrank-only, validated constraint: at most one of: site, camera constraint: at least one of: site, camera ordering-checked constraint: together or absent: reftype, refname constraint: together or absent: reftype, refname constraint: together or absent: reftype, refname constraint: together or absent: reftype, refname constraint: together or absent: reftype, refname constraint: together or absent: reftype, refname constraint: together or absent: reftype, refname constraint: at most one of: geom1, body1 constraint: at least one of: geom1, body1 constraint: at most one of: geom2, body2 constraint: at least one of: geom2, body2 constraint: at most one of: geom1, body1 constraint: at least one of: geom1, body1 constraint: at most one of: geom2, body2 constraint: at least one of: geom2, body2 constraint: at most one of: geom1, body1 constraint: at least one of: geom1, body1 constraint: at most one of: geom2, body2 constraint: at least one of: geom2, body2 constraint: at most one of: geom1, body1, subtree1, site constraint: at most one of: geom2, body2, subtree2 constraint: together or absent: objtype, objname children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): config (*) objtype/objname, reftype/refname: pairwise co-occurrence enforced by the reader children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): element (*) set even when absent children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): config (*) projects into the parent body's i-frame constraint: at most one of: fullinertia, quat, axisangle, xyaxes, zaxis, euler saved unless free saved for slide/hinge compile directive: saved as stiffness/damping saved unless free saved for slide/hinge spring polynomial, 1+mjNPOLY coefficients damper polynomial, 1+mjNPOLY coefficients includes another MJCF file; resolved before parsing