This describes how stable the model's renderer-facing values are expected to
be after the model has been populated. Renderer-facing values are the parts
of the model that a renderer may cache, upload or reorganize for drawing,
such as mesh transforms, object visibility, selection state, colors, opacity
and other per-object or per-mesh values. Adding new geometry or new objects is
described separately by SceneModelLoadingMode.
Use "auto" when the application does not know the model's update pattern,
or when the renderer defaults are good enough. Use "static" for models that
are loaded or authored once and then mostly inspected. Use "dynamic" for
models whose renderer-facing values are expected to change often after
creation, for example animated, frequently recolored, interactively edited or
state-driven content.
Renderers use this value as an intent signal, not as a renderer-specific
configuration object. WebGL and WebGPU may map the same update mode to
different internal storage choices, such as VBO-backed or data-texture-backed
geometry in WebGL, or compact or append-friendly model memory policies in
WebGPU. Applications that need deeper tuning should configure renderer-owned
update-mode policies on the renderer, while keeping SceneModel params
renderer-neutral.
SceneModelUpdateMode is independent from
SceneModelLoadingMode and
SceneModel.sealed. For example, a
streamed model can use updateMode: "static" with loadingMode: "streaming" when chunks keep arriving but completed chunks are stable. A
model can then be sealed when no more topology will be added.
Renderer-neutral update intent for a SceneModel.
This describes how stable the model's renderer-facing values are expected to be after the model has been populated. Renderer-facing values are the parts of the model that a renderer may cache, upload or reorganize for drawing, such as mesh transforms, object visibility, selection state, colors, opacity and other per-object or per-mesh values. Adding new geometry or new objects is described separately by SceneModelLoadingMode.
Use
"auto"when the application does not know the model's update pattern, or when the renderer defaults are good enough. Use"static"for models that are loaded or authored once and then mostly inspected. Use"dynamic"for models whose renderer-facing values are expected to change often after creation, for example animated, frequently recolored, interactively edited or state-driven content.Renderers use this value as an intent signal, not as a renderer-specific configuration object. WebGL and WebGPU may map the same update mode to different internal storage choices, such as VBO-backed or data-texture-backed geometry in WebGL, or compact or append-friendly model memory policies in WebGPU. Applications that need deeper tuning should configure renderer-owned update-mode policies on the renderer, while keeping SceneModel params renderer-neutral.
SceneModelUpdateModeis independent from SceneModelLoadingMode and SceneModel.sealed. For example, a streamed model can useupdateMode: "static"withloadingMode: "streaming"when chunks keep arriving but completed chunks are stable. A model can then be sealed when no more topology will be added.