feat(web): add scene motion blur authoring
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-29 16:50:49 +08:00
parent d1635f5163
commit 05f9bf1433
47 changed files with 1918 additions and 40 deletions

View File

@@ -734,6 +734,15 @@ function assertFutureCapability(payload: Extract<WebEngineRequest["command"], {
if (properties.exrCodec !== undefined && (!Number.isSafeInteger(properties.exrCodec) || properties.exrCodec < 0 || properties.exrCodec > 10)) throw report("RENDER_PROPERTY_INVALID", "Scene exrCodec is outside the bounded range");
return;
}
case "setSceneMotionBlur": {
const scene = currentSnapshot?.scenes.find((candidate) => candidate.id === payload.dataId);
const properties = payload.properties;
if (!scene || !validPropertyKeys(properties, ["enabled", "shutter", "position"])) throw report("RENDER_PROPERTY_INVALID", "Scene motion blur target or properties are invalid");
if (properties.enabled !== undefined && typeof properties.enabled !== "boolean") throw report("RENDER_PROPERTY_INVALID", "Scene motion blur enabled must be boolean");
if (properties.shutter !== undefined && !boundedNumber(properties.shutter, 0, 10)) throw report("RENDER_PROPERTY_INVALID", "Scene motion blur shutter is outside the bounded range");
if (properties.position !== undefined && ![0, 1, 2].includes(properties.position)) throw report("RENDER_PROPERTY_INVALID", "Scene motion blur position is unsupported");
return;
}
case "setGeometryNodeGraph": {
const snapshot = currentSnapshot;
const availableResourceIds = new Set([