Optionalautofalse suppresses the automatic fetch of modelUrl. Default: load.
OptionalbgBackground colour, hex digits without the leading #.
OptionalcameraInitial absolute camera orientation in degrees; the model is framed at
that orientation. zoom is accepted for backwards compatibility and is
NOT applied — the viewer has no absolute-zoom actuator and the field
carries no unit, so framing comes from a fit instead.
OptionalcontrolsRestricts interactive orbit/pan/zoom (mouse, touch, keyboard, and
spacemouse gestures) at the renderer's Camera. 'orbit' allows only
orbit, 'pan' only pan, 'none' freezes the view (orbit, pan AND zoom
all inert), 'all' is unrestricted. Does not gate programmatic moves —
SET_CAMERA, ?camera=/?view=, or host SDK calls still work in every
mode.
Optionalhidetrue hides the axis triad overlay.
Optionalhidetrue hides the scale bar overlay.
OptionalhideIFC class names to hide, e.g. IfcSpace. Arbitrary class names are
accepted and matched case-insensitively, so IFCSPACE, ifcspace and
IfcSpace all name the same class.
OptionalisolateEntity ids to isolate once the first model is on screen.
OptionalmodelModel to fetch on load. http(s) only; other schemes are rejected.
OptionalselectEntity ids to select once the first model is on screen.
OptionalthemeOptionalviewPreset view direction. Takes precedence over camera.
Parameters that can be passed via URL to the embed viewer.
Every field here is parsed by the viewer AND applied, as of #2934 --
hideAxis/hideScaleandcontrolswere marked NOT YET IMPLEMENTED here until then. The one deliberate exception iscamera.zoom; see its doc below. Read that as a statement about the fields below, not as a guarantee this type enforces on fields added later: nothing here fails a build when a new field is parsed and then ignored, which is exactly how the three above drifted. A new field owes its own applying call site and a test that observes the effect.