fix(web): synchronize WebEngine WASM with Blender sources
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-09-07 11:33:34 +08:00
parent e3677bd2a1
commit d5e736b80d
20 changed files with 423 additions and 134 deletions

View File

@@ -16,6 +16,8 @@ const wasmManifest = readJson("web/app/public/wasm-module-manifest.json");
const countBy = (items, selector) => Object.fromEntries([...new Set(items.map(selector))].sort().map((key) => [key, items.filter((item) => selector(item) === key).length]));
const unverified = catalog.entries.filter((entry) => entry.evidenceStatus === "UNVERIFIED");
const failedSmoke = smokeReport.cases.filter((entry) => entry.status !== "PASS");
const focusedPasses = new Set(smokeFix.fixes.filter((entry) => entry.status === "PASS").map((entry) => entry.featureId));
const unresolvedSmoke = failedSmoke.filter((entry) => !focusedPasses.has(entry.featureId));
const implementationResults = report.implementationTasks.map((task) => ({
id: task.id,
module: task.module,
@@ -29,7 +31,7 @@ const audit = {
schemaVersion: 1,
auditId: "WBV2-FEATURE-COMPLETENESS-001",
operation: "DETAILED_MIGRATION_COMPLETENESS_AUDIT",
status: missingResults.length || failedSmoke.length ? "PARTIAL_BLOCKED" : "IMPLEMENTATION_COMPLETE",
status: missingResults.length || unresolvedSmoke.length ? "PARTIAL_BLOCKED" : "IMPLEMENTATION_COMPLETE",
implementation: {
workflowModules: { total: report.workflowModules.length, implemented: report.workflowModules.filter((item) => item.status === "implemented").length },
productTasks: { total: report.implementationTasks.length, implemented: report.implementationTasks.filter((item) => item.status === "implemented").length, missingResultFiles: missingResults },
@@ -56,17 +58,18 @@ const audit = {
totalFeatures: smokePlan.cases.length,
attempts: smokeReport.cases.reduce((sum, entry) => sum + Number(entry.attempts ?? 0), 0),
passed: smokeReport.cases.filter((entry) => entry.status === "PASS").length,
failedOrBlocked: failedSmoke,
initialFailed: failedSmoke,
unresolved: unresolvedSmoke,
focusedFix: smokeFix.fixes,
retries: smokeFix.retries,
},
wasmLifecycle: wasmManifest.modules.map((module) => ({ id: module.id, lifecycle: module.lifecycle, preload: module.preload, single: module.resources?.single?.fileName ?? null, pthread: module.resources?.pthread?.fileName ?? null })),
actualMissingOrBlocked: [
{ id: "IO_IMPORT_WASM_ARTIFACT", status: "BLOCKED", description: "importScene/exportScene is present in source/protocol but the checked-in WASM lacks the unified JSON route; rebuilding currently fails on Blender API/header drift.", evidence: "tests/golden/WBV2/feature-smoke-fix-report.json" },
{ id: "IO_IMPORT_WASM_ARTIFACT", status: "RESOLVED", description: "importScene/exportScene is compiled into the source-matched WebEngine WASM and passed native ABI plus focused Chromium checks.", evidence: "tests/golden/WBV2/feature-smoke-fix-report.json" },
{ id: "BEHAVIORAL_EVIDENCE_OVERLAY", status: "DEFERRED", description: "2720 classified source units still lack exact behavioral receipts; they remain routed, not claimed verified.", evidence: "web/app/src/capabilities/blender-feature-route-catalog.json" },
],
nextWork: {
priority: ["repair WebEngine source/API drift and rebuild source-matched WASM", "rerun only OPERATOR-ROUTE-PALETTE focused IO smoke", "then schedule batched evidence for unverified operators/RNA/macros/modifier units"],
priority: ["schedule batched evidence for unverified operators/RNA/macros/modifier units"],
forbidden: ["do not rerun passed feature smoke cases", "do not mark route assignment as behavioral verification", "do not replace WASM with a simulated JS implementation"],
},
inputs: {