rfc-2077

The Model Primary Content Type for Multipurpose Internet Mail Extensions

S. Nelson, C. Parks, Mitra
date1997-01 streamLegacy statusPROPOSED STANDARD pages13 canonicalhttps://www.rfc-editor.org/rfc/rfc2077 doi10.17487/RFC2077
The purpose of this memo is to propose an update to Internet RFC 2045 to include a new primary content-type to be known as "model". [STANDARDS-TRACK]

updated by

Extracted elements (18)

design-rationale §2

Basis set conversion between model domains is assumed to be lossless in terms of specification (though interpretation may change). This property—that inter-subtype conversion preserves more information than conversion to other primary types—is the defining criterion for grouping subtypes under 'model'.

design-rationale §2

The default dimensionality for model/* is spatial and temporal, though any orthogonal coordinate system is allowed. Models are presumed to contain underlying structure (e.g., fluid dynamics fields, IGES dimensional specifiers) that may not be immediately visible to the user.

design-rationale §2

The 'model' primary type is justified because various model subtypes (VRML, mesh, IGES) can be converted between each other with less loss of information than to subtypes of other primary types. This is analogous to how images and videos are grouped together to minimize conversion loss.

design-rationale §4

The optional parameter list (dimension, state) is provided for illustration only and does not limit parameters defined by individual subtypes. Each subtype registration may define additional parameters as needed.

interoperability-note §7

IGES was previously registered as 'application/iges'. The author of that registration is also an author of this document, and application/iges is to be re-registered as model/iges at the appropriate time.

interoperability-note §3

The VRML community's release of the freely available QvLib library is cited as a key enabler of interoperability; the mesh community is similarly encouraged to advertise freely available mesh I/O libraries to spur development of interoperable packages.

normative-requirement §4 SHOULD

Unless noted in the subtype registration, subtypes of model SHOULD be assumed to contain binary data, implying a content encoding of base64 for email and binary transfer for FTP and HTTP.

email

normative-requirement §4 MUST

Unrecognized subtypes of model MUST at a minimum be treated as 'application/octet-stream'. Implementations may optionally pass unrecognized model subtypes to a general-purpose model viewer if one is available.

protocol-element §2

A model/* MIME type is defined as a multidimensional structure with 3 or more orthogonal dimensions, structural relationships between elements, and calibrated coordinate systems related to physical units. Models describe how something 'behaves' rather than how something 'is'.

protocol-element §2

Models may be composed of multiple objects in a master/slave arrangement where one primary object defines how the others interrelate and behave, analogous to the multipart/related MIME type for email.

protocol-element §4

The 'dimension' optional parameter is a string indicating the number of dimensions of the model, used as a hint for selecting applicable viewer programs.

protocol-element §4

The formal content-type registration template for model/* subtypes requires: media type name 'model', a subtype name, no required parameters, and optional parameters 'dimensionality' and 'state'. Base64 encoding is recommended for MIME email transport.

email

protocol-element §7

The model/mesh subtype is expected to use parameters describing mesh topology and dynamism, including: regular+static, unstructured+static, unstructured+dynamic, conformal+static, conformal+dynamic, isoparametric+static, and isoparametric+dynamic.

protocol-element §4

The 'state' optional parameter is either 'static' or 'dynamic'. In 'static', the observer may move (translations, rotations, zooms) but data does not change; in 'dynamic', the data itself is manipulated (skews, elongations, scales). Time evolution is a static operation; object deformation is dynamic.

protocol-element §7

Three immediately anticipated subtypes are listed: model/iges (extensions: igs, iges), model/vrml (extension: wrl), and model/mesh (extensions: msh, mesh, silo). These are not registered by this document but by separate documents.

registry §1

Establishes 'model' as a new primary MIME content type, alongside existing types such as text, image, audio, video, and application. Subtypes are to be registered separately.

registry

security-consideration §5

Model data files are treated as read-only and do not contain file system modifiers or batch/macro commands. The transported data is not self-modifying, though files may contain a 'default view' set by the author that can manipulate viewer variables, lighting, and visualization options, including hardware position changes for motorized equipment.

security

security-consideration §5

The internal structure of model data files may direct agents to access additional data from the network (inclusions); the security limits of those inclusions are not predefined. Actions based on network inclusions are governed by the security definitions of the inclusions themselves. Subtype-specific security considerations are deferred to individual subtype registrations.

security