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