Skip to content

Web Start Layout

WebStartLayout stores how a document should look when it opens. One component on the root node describes the workspace mode, the windows that are open (with position, size and the object each one shows), the camera, which overlays and groups are visible, and whether the simulation runs. The layout is saved inside the model file, so a link to the document always opens the same way, for every viewer and in a fresh browser profile.

It is a pure browser component. It has no Unity counterpart and no signals.

Add the component to the root node with Add component in the inspector.

PropertyTypeDefaultDescription
EnabledbooleanonApply this layout when the document opens. Switch it off to keep the layout stored but inactive.
Modekeep, hmi, commissioning, des, plannerkeepWorkspace mode to switch to. keep leaves the mode the viewer would choose itself.
SimStatekeep, play, pausekeepSimulation state after opening. play starts or resumes, pause pauses. It never resets the simulation.
SpeedFactornumber, x0Simulation speed multiplier. 0 keeps the current speed, otherwise 0.01 to 100.
RenderModekeep, simple, default, toon, raytracedkeepRender mode. keep leaves it unchanged.
PropertyTypeDefaultDescription
UseCamerabooleanoffSet the camera pose below. When off, the camera fields are ignored.
CameraPositionx, y, z in mm0, 0, 0Camera position in model coordinates (Unity convention).
CameraTargetx, y, z in mm0, 0, 0Point the camera looks at. Must differ from the position.
CameraProjectionkeep, perspective, orthographickeepProjection. keep leaves it unchanged.
CameraFovnumber, deg0Vertical field of view. 0 keeps the current value, otherwise 10 to 120.
CameraOrthoHeightnumber, mm0Visible height of an orthographic view, zoom included. 0 keeps the current value, otherwise 1 to 10 000 000.

One row per window.

FieldTypeDefaultDescription
KindtextemptyWhich window. Choose from the list of windows the viewer can open, for example the PLC editor, an operator panel or the problems list. An unknown kind produces a warning.
TargetreferencenoneThe object the window shows, for example the PLC program node for the PLC editor. Stored as a reference, so it survives renaming and moving the node.
OpenbooleanonOpen the window. Off closes it.
X, Ynumber, px0Window position in CSS pixels.
W, Hnumber, px0Window size in CSS pixels. 0 keeps the default size and applies only the position.
CollapsedbooleanoffCollapse the window to its title bar.
PropertyTypeDefaultDescription
OverlayslistemptyOne row per overlay category (tooltips, gizmos, colliders, status, signals, highlights, markers, connections, ribbon-preview, labels, safety-fields, trace-blocked, trace-utilization) with a Visible switch.
GroupslistemptyOne row per group name with a Visible switch.
GroupIsolationtextemptyName of the group to show alone. Empty clears an isolation, including one remembered from an earlier visit.
AutoFilterslistemptyOne row per component type with a Hidden switch.

The inspector shows Capture current layout and Apply now at the top of the component. Field changes do not apply by themselves, so the camera does not jump while you type.

  1. Open the document in the editor and add Web Start Layout to the root node.
  2. Arrange the viewer the way it should open: pick the workspace mode, open the windows you want (for example the PLC editor on a program) and drag them into place, move the camera, switch overlays and groups, start or pause the simulation.
  3. Click Capture current layout in the component. It reads the live state and writes it into the component as a single undoable step. A toast says “Start layout captured. Save the document to keep it.”
  4. Save the document. Check the result with Apply now or by reopening the document.

Capture can fail in a workspace that cannot be saved, such as an example or a shared link. The button then says so instead of failing silently.

The layout is applied every time the document is opened: by a click, by a link or after a page reload. The model wins over what the browser remembers (window positions, camera start, last mode, overlay and group settings). Afterwards you can rearrange everything freely. Your changes hold until the next open. Applying never writes to the file.

Steps run in a fixed order, each through the normal viewer commands:

Order in which a start layout is applied When a document is opened, the start layout is applied in five steps: first the workspace mode, then the windows, then the camera, then visibility (group isolation, groups, component filters, overlays and render mode), and last the simulation state and speed. Entries that cannot be applied are skipped and reported in the Problems list as start-layout-skipped. Order in which a start layout is applied 1 Mode workspace 2 Windows position, target 3 Camera pose, projection 4 Visibility groups, overlays, render 5 Simulation speed, play or pause Skipped entries are reported in Problems as start-layout-skipped; the rest still runs.
The simulation comes last, so the machine starts moving only after the view is ready.
  • Skipped entries. A window whose kind is not available in this build, a target that no longer resolves, or an unknown mode is skipped. Each skipped entry appears in the Problems list as start-layout-skipped with the reason; everything else is still applied.
  • Several windows. Position and size are applied first, so a window that opens later appears in place.
  • View in the link. A link that names a camera view (?view=…) keeps that view; the camera of the layout is skipped, everything else is still applied.
  • Terms of use. Where the viewer asks to accept its terms first, windows and camera are applied behind the dialog, and the simulation starts only after Accept.
  • Editor. If you opened the editor on purpose, the layout is not applied. An editor mode that was only remembered from the last visit is replaced by the layout mode, unless Mode is keep.

The start layout only starts or pauses the simulation. It never resets it, so the two simulation modes behave as they do for the Play button:

Continuous simulationDES (event-driven)
SimState playStarts or resumes the simulation. The state is never resetStarts or resumes the run. It does not call reset, so the run continues from its current time
SimState pausePauses the simulationPauses the run
A freshly started runStarts when the layout plays itWaits paused at time 0 until play is applied or you press Play
SpeedFactorScales the simulation speedControls the run speed. FastForward and end time stay in the DES settings
ResetNever triggered by the layoutNever triggered by the layout. A reset in DES always ends paused at time 0

Use SimState = play for a demo that should be running on arrival. For a DES model, leave it on keep or pause if the viewer should look at the initial state first.

  • Demo link. A public demo opens in commissioning mode, close to the machine, with the PLC editor on the main program and the operator panel open, and the machine running.
  • Customer handover. The model opens on the overview camera with only the relevant groups visible.
  • Training. Statistics and the problems list open next to the 3D view; the simulation starts paused.
  • Review. An orthographic top view with colliders hidden, the same on every machine.
  • Agent workflows. An AI assistant sets the layout with the same commands and captures the result.

The layout is applied and captured through registered commands, so scripts and AI agents can use them too. Details are in the MCP help topic commands (web_help("commands")).

CommandPurpose
layout.applyApply the layout of the main document now.
layout.captureRead the live state and write it into the component as one undo step.
camera.setPose, camera.getPoseSet or read the user camera.
ui.panel, ui.panel.open, ui.panel.closePosition, open and close windows.
view.overlay, view.autoFilter, group.isolate, view.renderModeVisibility and render mode.