feat(web): generate split wasm debug secondary modules
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-04 12:12:53 +08:00
parent 2ffb965b67
commit cc631623d0
5 changed files with 105 additions and 7 deletions

View File

@@ -575,7 +575,7 @@ def recover_blocked_native_batch(current: str, index: dict, plan: dict, inventor
"positive": [f"{name} type is read from Blender Main" for name in batch["identifiers"]]
+ ["shared RNA metadata is preserved", "save/reopen preserves the batch metadata"],
"commands": [
"source tools/web/emscripten-env.sh && cmake --build build_web_blender6 --target web_engine -- -j8 && cp build_web_blender6/bin/web_engine.wasm web/app/src/vendor/blender/web_engine.wasm && cp build_web_blender6/bin/web_engine.wasm web/app/public/vendor/blender/web_engine.wasm",
"source tools/web/emscripten-env.sh && cmake --build build_web_blender6 --target web_engine -- -j8 && cp build_web_blender6/bin/web_engine.wasm web/app/src/vendor/blender/web_engine.wasm && cp build_web_blender6/bin/web_engine.wasm web/app/public/vendor/blender/web_engine.wasm && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
"npm --prefix web run typecheck",
"npm --prefix web run build",
command,
@@ -957,7 +957,16 @@ def main() -> int:
source_paths += [dependency["productionEvidence"] for dependency in batch["dependencyReuse"]]
source_paths += [batch["test"]]
else:
source_paths += ["blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", batch["test"], *fixture_paths, "web/app/src/vendor/blender/web_engine.wasm"]
source_paths += [
"blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp",
batch["test"],
*fixture_paths,
"web/app/src/vendor/blender/web_engine.wasm",
"web/app/public/vendor/blender/web_engine.wasm",
"web/app/public/wasm-module-manifest.json",
"web/app/public/vendor/blender/modules/single/web_engine.secondary.wasm",
"web/app/public/vendor/blender/modules/pthread/web_engine.secondary.wasm",
]
batch_types = json.dumps(batch["types"], separators=(',', ':'))
batch_units = json.dumps([unit["id"] for unit in batch["units"]], separators=(',', ':'))
if batch.get("dependencyReuse"):
@@ -971,7 +980,7 @@ def main() -> int:
commands = [f"node tools/web/reuse-wbv2-source-dependencies.mjs --task {module_task} --write"]
else:
commands = [
"source tools/web/emscripten-env.sh && cmake --build build_web_blender6 --target web_engine -- -j8 && cp build_web_blender6/bin/web_engine.wasm web/app/src/vendor/blender/web_engine.wasm && cp build_web_blender6/bin/web_engine.wasm web/app/public/vendor/blender/web_engine.wasm",
"source tools/web/emscripten-env.sh && cmake --build build_web_blender6 --target web_engine -- -j8 && cp build_web_blender6/bin/web_engine.wasm web/app/src/vendor/blender/web_engine.wasm && cp build_web_blender6/bin/web_engine.wasm web/app/public/vendor/blender/web_engine.wasm && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/single --split-funcs web_engine_get_live_handles && node tools/web/split-wbv2-wasm.mjs --input web/app/public/vendor/blender/pthread/web_engine.wasm --output-dir web/app/public/vendor/blender/modules/pthread --split-funcs web_engine_get_live_handles",
"npm --prefix web run typecheck",
"npm --prefix web run build",
f"WBV2_BATCH_TASK={module_task} {production_env} {fixture_env} WBV2_BATCH_TYPES='{batch_types}' WBV2_BATCH_UNITS='{batch_units}' WEB_TEST_PORT=5371 npm --prefix web run test:e2e -- --workers=1 tests/e2e/{Path(batch['test']).name}",