WebGPU renderer policy for models that declare renderer-neutral update mode.

The policy is owned by WebGPURenderer. SceneModel only describes what kind of model it is; this policy decides how that intent maps to WebGPU memory and culling behavior.

const rendererResult = await WebGPURenderer.create({
viewer,
updateModePolicies: {
static: {
memoryPolicy: "compact",
memoryConfigs: {
compactSealedStreamPages: true
}
},
dynamic: {
memoryPolicy: "stream",
memoryConfigs: {
compactStreamPages: false,
frustumCulling: true,
minProjectedCanvasSize: 5
}
}
}
});

The matching SceneModel remains renderer-neutral:

const modelResult = scene.createModel({
id: "campus",
updateMode: "dynamic",
loadingMode: "streaming"
});
interface WebGPUUpdateModePolicy {
    memoryConfigs?: Partial<viewing.renderers.webGPU.MemoryConfigs>;
    memoryPolicy?: WebGPUModelMemoryPolicy;
}

Properties

memoryConfigs?: Partial<viewing.renderers.webGPU.MemoryConfigs>

GPU memory and packed-batch sizing overrides for matching SceneModels.

Renderer-owned allocation intent for matching SceneModels.

This lets WebGPU infer compact-vs-stream storage from neutral model update mode without requiring application code to set low-level renderer configurations.