fix(web): synchronize WebEngine WASM with Blender sources
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
"schemaVersion": 1,
|
||||
"auditId": "WBV2-FEATURE-COMPLETENESS-001",
|
||||
"operation": "DETAILED_MIGRATION_COMPLETENESS_AUDIT",
|
||||
"status": "PARTIAL_BLOCKED",
|
||||
"status": "IMPLEMENTATION_COMPLETE",
|
||||
"implementation": {
|
||||
"workflowModules": {
|
||||
"total": 16,
|
||||
@@ -64,7 +64,7 @@
|
||||
"totalFeatures": 34,
|
||||
"attempts": 34,
|
||||
"passed": 31,
|
||||
"failedOrBlocked": [
|
||||
"initialFailed": [
|
||||
{
|
||||
"featureId": "WEBUI-OPERATOR-PALETTE",
|
||||
"smokeId": "WBV2-SMOKE-WEBUI-OPERATOR-PALETTE",
|
||||
@@ -101,6 +101,7 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"unresolved": [],
|
||||
"focusedFix": [
|
||||
{
|
||||
"featureId": "WEBUI-OPERATOR-PALETTE",
|
||||
@@ -122,16 +123,16 @@
|
||||
},
|
||||
{
|
||||
"featureId": "OPERATOR-ROUTE-PALETTE",
|
||||
"status": "BLOCKED",
|
||||
"verification": "OBJ import route reaches the current WebEngine binary, but the checked-in WASM returns unified JSON cmd is not implemented",
|
||||
"rootCause": "WASM artifact predates the source importScene/exportScene route",
|
||||
"status": "PASS",
|
||||
"verification": "source-matched WebEngine WASM opens a real blend and the focused Chromium route accepts OBJ through importScene",
|
||||
"rootCause": "resolved: the previous WASM artifact predated the source importScene/exportScene route",
|
||||
"files": [
|
||||
"web/protocol/web-engine.ts",
|
||||
"web/app/src/engine-client/WebEngineClient.ts",
|
||||
"web/app/src/app/App.tsx",
|
||||
"web/tests/e2e/io-format-ui-gate.spec.ts"
|
||||
],
|
||||
"nextAction": "rebuild or replace the source-matched WebEngine WASM before rerunning this focused case"
|
||||
"result": "PASS"
|
||||
}
|
||||
],
|
||||
"retries": 0
|
||||
@@ -176,8 +177,8 @@
|
||||
"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.",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
@@ -189,9 +190,7 @@
|
||||
],
|
||||
"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"
|
||||
"schedule batched evidence for unverified operators/RNA/macros/modifier units"
|
||||
],
|
||||
"forbidden": [
|
||||
"do not rerun passed feature smoke cases",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"planId": "WBV2-FEATURE-SMOKE-001",
|
||||
"operation": "ONE_PASS_FEATURE_SMOKE_FOCUSED_FIX_VERIFICATION",
|
||||
"policy": "focused verification after the single smoke pass; no second full smoke sweep",
|
||||
"status": "PARTIAL_BLOCKED",
|
||||
"status": "PASS",
|
||||
"fixes": [
|
||||
{
|
||||
"featureId": "WEBUI-OPERATOR-PALETTE",
|
||||
@@ -19,23 +19,25 @@
|
||||
},
|
||||
{
|
||||
"featureId": "OPERATOR-ROUTE-PALETTE",
|
||||
"status": "BLOCKED",
|
||||
"verification": "OBJ import route reaches the current WebEngine binary, but the checked-in WASM returns unified JSON cmd is not implemented",
|
||||
"rootCause": "WASM artifact predates the source importScene/exportScene route",
|
||||
"status": "PASS",
|
||||
"verification": "source-matched WebEngine WASM opens a real blend and the focused Chromium route accepts OBJ through importScene",
|
||||
"rootCause": "resolved: the previous WASM artifact predated the source importScene/exportScene route",
|
||||
"files": ["web/protocol/web-engine.ts", "web/app/src/engine-client/WebEngineClient.ts", "web/app/src/app/App.tsx", "web/tests/e2e/io-format-ui-gate.spec.ts"],
|
||||
"nextAction": "rebuild or replace the source-matched WebEngine WASM before rerunning this focused case"
|
||||
"result": "PASS"
|
||||
}
|
||||
],
|
||||
"buildRepair": {
|
||||
"status": "BLOCKED",
|
||||
"status": "PASS",
|
||||
"command": "source tools/web/emscripten-env.sh && cmake --build build_web_blender6 --target web_engine --parallel",
|
||||
"errors": [
|
||||
"web_engine_main_state.cpp uses APIs/header names that do not match the current Blender source tree",
|
||||
"BKE_constraint.hh was absent (corrected to BKE_constraint.h)",
|
||||
"generated RNA_prototypes.hh include path was absent (corrected in web_engine/CMakeLists.txt)",
|
||||
"remaining Blender API mismatches prevent a safe WASM replacement"
|
||||
"repairs": [
|
||||
"aligned WebEngine Main code with Blender 5.2 typed ListBase, RNA, Modifier, Curve, Armature, Constraint, Object and memory APIs",
|
||||
"closed headless Sequencer data-link symbols without pulling desktop compositor/GPU execution into WASM",
|
||||
"moved Main command declarations out of extern-C function scope and exported operator/macro wrappers",
|
||||
"rebuilt paired JS/WASM artifacts and updated the runtime module hash"
|
||||
],
|
||||
"noBinaryReplaced": true
|
||||
"wasmSha256": "ca95b0a08ead661b320caebdb837562d1a20381f2771991280232d2f0121b1e3",
|
||||
"loaderSha256": "63fbde218614cffd8d7cb8350987def3b4266a590b3dde01eaf68751a9f0ebaa",
|
||||
"binaryReplaced": true
|
||||
},
|
||||
"retries": 0
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"manifestId": "WBV2-FEATURE-SMOKE-001",
|
||||
"status": "partial_blocked",
|
||||
"status": "pass",
|
||||
"plan": {
|
||||
"path": "tests/golden/WBV2/feature-smoke-plan.json",
|
||||
"sha256": "3e46cebe9225e9f9d67d54b9932aae68371d494ca075e001a71a3a78c3275cb4"
|
||||
@@ -12,19 +12,19 @@
|
||||
},
|
||||
"focusedFixReport": {
|
||||
"path": "tests/golden/WBV2/feature-smoke-fix-report.json",
|
||||
"sha256": "cf2f43d82c60bf4a82c909acd0b5896538213cadab5c0a59a8331ece6435f80c"
|
||||
"sha256": "c8b86cd38d018897e853a6bf9fd399ac662956aa419102982533c87a938ed911"
|
||||
},
|
||||
"planDocument": {
|
||||
"path": "docs/WEB_FEATURE_SMOKE_PLAN.md",
|
||||
"sha256": "fd3f4966351051b8feb518c898a9f9cfdf9bcfbbca17194ca41098256cabc65b"
|
||||
"sha256": "6b53dce71258b08705cba03c671f485a2490509c1a36f3eed197dd7b0147f0f6"
|
||||
},
|
||||
"summary": {
|
||||
"totalFeatures": 34,
|
||||
"smokeAttempts": 34,
|
||||
"initialPassed": 31,
|
||||
"focusedFixPassed": 2,
|
||||
"blocked": 1,
|
||||
"focusedFixPassed": 3,
|
||||
"blocked": 0,
|
||||
"retries": 0,
|
||||
"remainingBlocker": "source-matched WebEngine WASM importScene route"
|
||||
"remainingBlocker": null
|
||||
}
|
||||
}
|
||||
|
||||
48
tests/golden/WBV2/web-engine-source-sync.json
Normal file
48
tests/golden/WBV2/web-engine-source-sync.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"operation": "WEB_ENGINE_SOURCE_ARTIFACT_SYNC",
|
||||
"status": "PASS",
|
||||
"sourceFingerprint": "db17ef74795218511fca7c4ceec36c44e5f160c495acad60b136cf1e76c665ed",
|
||||
"sourceFiles": {
|
||||
"blender-5.2.0/source/blender/web_engine/CMakeLists.txt": "ea25a42ec249be52f028e4ec911a8f5c6d0890a5e17f6e9680b0f99e9197e90e",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_api.cpp": "2d4183e88ca7f4368a8db034c76790df02daa07fc04d47e784b277abd0dfcd6f",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp": "8666403cce707f858326e288a5f6b49f6ee5c2052c1ed6989a2c8d2c9ad04634",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_main_state.h": "7cdc6f118e3382cc0729a9e185ae65837c554b71ca5abdde78ae621d42d66451",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_headless_fallback.cpp": "1095a0ac65e52063b9fbf52269d5a3d099841680de14b1317c5f6ec3f4bd2569",
|
||||
"blender-5.2.0/source/blender/web_engine/web_engine_depsgraph.cpp": "b5afb348d4497ec710606b35d5bf01b9b430aa1633b58b11245dbbdc30d2e3af",
|
||||
"blender-5.2.0/source/blender/blenkernel/intern/idtype.cc": "30ab535dc278bff463781a47957156a1911c09b83938b273fffb10e67dfc6ae2",
|
||||
"blender-5.2.0/source/blender/modifiers/intern/MOD_util.cc": "919b6bb9b2bc31ad5653adce3a5175a721710f2ee741ec116914602d99cc347f"
|
||||
},
|
||||
"build": {
|
||||
"directory": "build_web_blender6",
|
||||
"target": "web_engine",
|
||||
"emscriptenVersion": "3.1.69",
|
||||
"exitCode": 0
|
||||
},
|
||||
"artifacts": {
|
||||
"wasmSha256": "ca95b0a08ead661b320caebdb837562d1a20381f2771991280232d2f0121b1e3",
|
||||
"loaderSha256": "63fbde218614cffd8d7cb8350987def3b4266a590b3dde01eaf68751a9f0ebaa",
|
||||
"byteLength": 16715806,
|
||||
"copies": {
|
||||
"buildLoader": "build_web_blender6/bin/web_engine.js",
|
||||
"buildWasm": "build_web_blender6/bin/web_engine.wasm",
|
||||
"sourceLoader": "web/app/src/vendor/blender/web_engine.js",
|
||||
"sourceWasm": "web/app/src/vendor/blender/web_engine.wasm",
|
||||
"publicLoader": "web/app/public/vendor/blender/web_engine.js",
|
||||
"publicWasm": "web/app/public/vendor/blender/web_engine.wasm"
|
||||
}
|
||||
},
|
||||
"abi": {
|
||||
"webEngineCallJson": true,
|
||||
"importScene": true,
|
||||
"exportScene": true
|
||||
},
|
||||
"focusedValidation": {
|
||||
"nativeImportScene": "PASS",
|
||||
"webEngineSmoke": "PASS",
|
||||
"localDependencies": "PASS",
|
||||
"chromiumIO": "PASS",
|
||||
"chromiumNativeEngine": "PASS",
|
||||
"chromiumSequencer": "PASS"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user