feat(web): continue source-backed implementation waves
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 05:46:53 +08:00
parent e9b9d343a1
commit 81113159dc
180 changed files with 12316 additions and 82 deletions

View File

@@ -414,6 +414,12 @@ function assertFutureCapability(payload: Extract<WebEngineRequest["command"], {
if (!payload.links || [payload.links.regular, payload.links.bold, payload.links.italic, payload.links.boldItalic].some((id) => typeof id !== "string" || !available.has(id))) throw report("NON_MESH_RESOURCE_MISSING", "Font style links must reference VFonts already present in the current Main");
return;
}
case "setTextSource": {
const text = currentSnapshot?.texts?.find((candidate) => candidate.id === payload.dataId);
if (!text) throw report("NON_MESH_DATA_UNSUPPORTED", `Text data block is unavailable: ${payload.dataId}`);
if (typeof payload.source !== "string" || new TextEncoder().encode(payload.source).byteLength > 1_048_576) throw report("NON_MESH_PROPERTY_INVALID", "Text source must be valid UTF-8 within the 1 MiB budget");
return;
}
case "setVolumeProperties": {
const data = currentSnapshot?.nonMeshData?.find((candidate) => candidate.id === payload.dataId);
if (!data || data.type !== "VOLUME") throw report("NON_MESH_DATA_UNSUPPORTED", `N-015 Volume data block is unavailable: ${payload.dataId}`);