Files
workinf_Blender_Wasm/docs/status/v1-acceptance-evidence.json
mes123456 7c16b279ae
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
Advance M7 workflows and release operations
2026-08-15 17:43:53 -04:00

573 lines
40 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schemaVersion": 1,
"source": "docs/status/parity-ledger.json",
"sourceSha256": "1e16518a25c6b6bed4ab7f605ea1ad5babe529f2842c858b20ae6daae30bd478",
"package": "web/package.json",
"packageSha256": "a7ee993997c8d62effcdd3bb994f16656424e6a5e976c3d3b4e2951bd4109710",
"toolSourceSha256": {
"tools/web/v1-acceptance-lib.mjs": "48005c8fc9d97955513e104ee1b8950cab2c3520c166eff4358e10bd7318f535",
"tools/web/check-v1-acceptance-coverage.mjs": "42b713f9b622851328266584e3a8ba2231e0393141ba4a8ae091a97337d9e03e",
"tools/web/run-v1-acceptance.mjs": "7e87893e42c6c848c2bc487340712ba4ec151e63e49b2bbc76e6a0c51d839da3",
"tools/web/check-v1-acceptance-evidence.mjs": "af1a3029a1148e8e5d346d66f3a58f7063b73fee8dd95e6e41ed0504ed56dfea"
},
"generatedAt": "2026-08-15T13:31:45.207Z",
"environment": {
"node": "v20.19.2",
"npm": "9.2.0",
"chromium": "Google Chrome 150.0.7871.128",
"blenderBin": "BLENDER_BIN",
"blenderExecutableSha256": "83e8261eace07a5337f71b52d156c1eece1a6ba913403cc6406182ae58bacf27",
"blenderArchiveSha256": "96f6c181a30f4950607839dc84d42a354b250d8a0231b098b59b7bc69c351c48",
"blender": "ACCEPTANCE_BLENDER=5.2.0 LTS;USD=True"
},
"summary": {
"families": 12,
"declarations": 50,
"unique": 49,
"passed": 49,
"failed": 0
},
"results": [
{
"token": "web:test:nonmesh-roundtrip",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:nonmesh-roundtrip",
"exitCode": 0,
"durationMs": 1996,
"outputSha256": "828a1171ff5444aba7bddaa0f2f47e1004881e0595b856b23b1e4eb46aa09c01",
"output": "> blender-web-editor@0.1.0-rc.1 test:nonmesh-roundtrip\n> node ../tools/web/check-nonmesh-roundtrip.mjs\n\nnonmesh-roundtrip-ok types=CURVE,SURFACE,FONT,METABALL,VOLUME multispline-create-delete-bulk-handle-cyclic-surface-2d-topology-font-links-volume-properties=passed undo-redo=passed save-reopen=passed\n\nweb-depsgraph-stage=runtime-init-begin\nweb-depsgraph-stage=runtime-init-end\nweb-depsgraph-stage=blend-read-end\nweb-depsgraph-stage=view-layer-sync-end\nweb-depsgraph-data scene=0xaf0538 master=0xa18618 nodetree=0 world=0 collections=0\nweb-depsgraph-stage=global-main-swap-end\nweb-depsgraph-stage=graph-new-end\nweb-depsgraph-stage=graph-build-end\nweb-depsgraph-stage=frame-change-end\nweb-depsgraph-stage=graph-free-end\nweb-depsgraph-stage=global-main-restore-end\nweb-depsgraph-stage=blend-free-end"
},
{
"token": "web:test:nonmesh-desktop-golden",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:nonmesh-desktop-golden",
"exitCode": 0,
"durationMs": 920,
"outputSha256": "54cfd9cdec5a7885b22768bce6652410fc3709da1f4c943bcfa6655637435215",
"output": "> blender-web-editor@0.1.0-rc.1 test:nonmesh-desktop-golden\n> node ../tools/web/check-nonmesh-desktop-golden.mjs\n\nnonmesh-desktop-golden-ok fixture=nonmesh_scene.blend geometries=4\n\nweb-depsgraph-stage=runtime-init-begin\nweb-depsgraph-stage=runtime-init-end\nweb-depsgraph-stage=blend-read-end\nweb-depsgraph-stage=view-layer-sync-end\nweb-depsgraph-data scene=0xa71220 master=0xacb470 nodetree=0 world=0 collections=0\nweb-depsgraph-stage=global-main-swap-end\nweb-depsgraph-stage=graph-new-end\nweb-depsgraph-stage=graph-build-end\nweb-depsgraph-stage=frame-change-end\nweb-depsgraph-stage=graph-free-end\nweb-depsgraph-stage=global-main-restore-end\nweb-depsgraph-stage=blend-free-end"
},
{
"token": "web:test:nonmesh-glb-blender-roundtrip",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:nonmesh-glb-blender-roundtrip",
"exitCode": 0,
"durationMs": 2200,
"outputSha256": "c9ba8f68095690f4235b19da1645416f912fc0a7716f11f75c2ee8a63f300319",
"output": "> blender-web-editor@0.1.0-rc.1 test:nonmesh-glb-blender-roundtrip\n> node ../tools/web/check-nonmesh-glb-blender-roundtrip.mjs\n\nnonmesh-glb-blender-roundtrip-ok bytes=53172 objects=7 points=1 lines=3 triangles=3\n\nweb-depsgraph-stage=runtime-init-begin\nweb-depsgraph-stage=runtime-init-end\nweb-depsgraph-stage=blend-read-end\nweb-depsgraph-stage=view-layer-sync-end\nweb-depsgraph-data scene=0xa71260 master=0xacb460 nodetree=0 world=0 collections=0\nweb-depsgraph-stage=global-main-swap-end\nweb-depsgraph-stage=graph-new-end\nweb-depsgraph-stage=graph-build-end\nweb-depsgraph-stage=frame-change-end\nweb-depsgraph-stage=graph-free-end\nweb-depsgraph-stage=global-main-restore-end\nweb-depsgraph-stage=blend-free-end"
},
{
"token": "web:test:nonmesh-usd-serialization",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:nonmesh-usd-serialization",
"exitCode": 0,
"durationMs": 2532,
"outputSha256": "7a76fabed285b2fbd3b528fae02dd5696327b5068fd6909e504666d5022b80c2",
"output": "> blender-web-editor@0.1.0-rc.1 test:nonmesh-usd-serialization\n> USD_DESKTOP_REQUIRED=0 node ../tools/web/check-nonmesh-usd-blender-roundtrip.mjs\n\nnonmesh-usd-blender-roundtrip-ok bytes=65405 objects=7 points=1 basisCurves=3 meshes=3\n\nweb-depsgraph-stage=runtime-init-begin\nweb-depsgraph-stage=runtime-init-end\nweb-depsgraph-stage=blend-read-end\nweb-depsgraph-stage=view-layer-sync-end\nweb-depsgraph-data scene=0xa71260 master=0xacb460 nodetree=0 world=0 collections=0\nweb-depsgraph-stage=global-main-swap-end\nweb-depsgraph-stage=graph-new-end\nweb-depsgraph-stage=graph-build-end\nweb-depsgraph-stage=frame-change-end\nweb-depsgraph-stage=graph-free-end\nweb-depsgraph-stage=global-main-restore-end\nweb-depsgraph-stage=blend-free-end"
},
{
"token": "web:test:nonmesh-usd-blender-roundtrip",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:nonmesh-usd-blender-roundtrip",
"exitCode": 0,
"durationMs": 2526,
"outputSha256": "0d4e89b5d022962e4effc43c53385b825c21217dd14850e36f6db7e20bd3511a",
"output": "> blender-web-editor@0.1.0-rc.1 test:nonmesh-usd-blender-roundtrip\n> USD_DESKTOP_REQUIRED=1 node ../tools/web/check-nonmesh-usd-blender-roundtrip.mjs\n\nnonmesh-usd-blender-roundtrip-ok bytes=65405 objects=7 points=1 basisCurves=3 meshes=3\n\nweb-depsgraph-stage=runtime-init-begin\nweb-depsgraph-stage=runtime-init-end\nweb-depsgraph-stage=blend-read-end\nweb-depsgraph-stage=view-layer-sync-end\nweb-depsgraph-data scene=0xa71260 master=0xacb460 nodetree=0 world=0 collections=0\nweb-depsgraph-stage=global-main-swap-end\nweb-depsgraph-stage=graph-new-end\nweb-depsgraph-stage=graph-build-end\nweb-depsgraph-stage=frame-change-end\nweb-depsgraph-stage=graph-free-end\nweb-depsgraph-stage=global-main-restore-end\nweb-depsgraph-stage=blend-free-end"
},
{
"token": "web:test:nonmesh-binary",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:nonmesh-binary",
"exitCode": 0,
"durationMs": 4623,
"outputSha256": "53f1182423f3cdcb5d0ba00f5827ba1d5ed5f880151ef5d746ae3893020ed771",
"output": "> blender-web-editor@0.1.0-rc.1 test:nonmesh-binary\n> playwright test --config playwright.config.ts -g \"one-million-point binary transfer gate\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:402:1 enforces the N-015 one-million-point binary transfer gate (1.6s)\n\n 1 passed (3.7s)"
},
{
"token": "web:test:selection-history",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:selection-history",
"exitCode": 0,
"durationMs": 4642,
"outputSha256": "9b8035591b1b4f7f665688d9190d7191d12a5cd6d204fcb271d46375817cb3a2",
"output": "> blender-web-editor@0.1.0-rc.1 test:selection-history\n> playwright test --config playwright.config.ts -g \"N-015 selection history\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1060:1 keeps N-015 selection history bounded and rejects stale raycast hits (1.7s)\n\n 1 passed (3.7s)"
},
{
"token": "web:test:nonmesh-interaction",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:nonmesh-interaction",
"exitCode": 0,
"durationMs": 4538,
"outputSha256": "0794b7d8acb9c24a8de963a9a76fbbf2919228cc637d79c2b101a8280698df63",
"output": "> blender-web-editor@0.1.0-rc.1 test:nonmesh-interaction\n> playwright test --config playwright.config.ts -g \"N-015 curve gizmo interaction\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1081:1 validates the N-015 curve gizmo interaction transaction boundary (1.8s)\n\n 1 passed (3.7s)"
},
{
"token": "web:test:vdb",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:vdb",
"exitCode": 0,
"durationMs": 4103,
"outputSha256": "974bedb7c4fa970d79b6140d1527b39de4c99f063c9c848684d064efcdc8723b",
"output": "> blender-web-editor@0.1.0-rc.1 test:vdb\n> playwright test --config playwright.config.ts -g \"VDB conversion boundary\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1156:1 validates the VDB conversion boundary and NanoVDB streaming contract (1.4s)\n\n 1 passed (3.3s)"
},
{
"token": "web:test:vdb-availability",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:vdb-availability",
"exitCode": 0,
"durationMs": 370,
"outputSha256": "3d1fce4839232bd9c5c7dc42ea2e462be9ade0866d1296cfc5897afadd6b39fc",
"output": "> blender-web-editor@0.1.0-rc.1 test:vdb-availability\n> node ../tools/web/check-vdb-availability.mjs\n\nvdb-availability-ok core=READY release=BLOCKED browser-openvdb=disabled desktop=ready server=ready opfs=ready webgpu-core=ready main-roundtrip=ready viewport=blocked advanced-material=blocked resources=9"
},
{
"token": "web:test:vdb-native",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:vdb-native",
"exitCode": 0,
"durationMs": 1341,
"outputSha256": "52abc08ddc600e3c00842cb2619b3c4b66b113e8bd83d96db910ac1b95d5d012",
"output": "> blender-web-editor@0.1.0-rc.1 test:vdb-native\n> node ../tools/web/check-vdb-native-pipeline.mjs\n\nvdb-native-pipeline-ok resources=14 converter=openvdb13-nanovdb32 conversion-deterministic=1 semantic-deterministic=1 official-deterministic=1 malformed=blocked browser-openvdb=off"
},
{
"token": "web:test:vdb-server",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:vdb-server",
"exitCode": 0,
"durationMs": 691,
"outputSha256": "d958e3ed39b5660b5e8d66d7171b651e97f0e87c1c7b9769709478925a91907f",
"output": "> blender-web-editor@0.1.0-rc.1 test:vdb-server\n> node ../tools/web/check-vdb-server-job.mjs\n\nvdb-server-job-ok job=vdb-b59105490496a2fee0dda646 bytes=2563944 idempotent=1 signed=1 isolated=1 cancelled=1 atomic=1 desktop-server-hash=equal"
},
{
"token": "web:test:vdb-opfs",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:vdb-opfs",
"exitCode": 0,
"durationMs": 5672,
"outputSha256": "976954270c006f573cd70022ab4cd5c500ff9d4ff895aabde4d1eb8cc1895430",
"output": "> blender-web-editor@0.1.0-rc.1 test:vdb-opfs\n> playwright test --config playwright.config.ts -g \"hash-bound NanoVDB project through OPFS\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1206:1 commits and reopens a hash-bound NanoVDB project through OPFS (2.9s)\n\n 1 passed (4.8s)"
},
{
"token": "web:test:vdb-webgpu",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:vdb-webgpu",
"exitCode": 0,
"durationMs": 64026,
"outputSha256": "d7d13bf8104f9fef4a92836d37b839fc4ec24135ad6424e7d36eddcf7b45c070",
"output": "> blender-web-editor@0.1.0-rc.1 test:vdb-webgpu\n> playwright test --config playwright.config.ts -g \"real NanoVDB Float32 tree with WebGPU\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1232:1 samples and integrates a real NanoVDB Float32 tree with WebGPU (1.0m)\n\n 1 passed (1.1m)"
},
{
"token": "web:test:vdb-viewport",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:vdb-viewport",
"exitCode": 0,
"durationMs": 122887,
"outputSha256": "215608ae74264a438f7e93caa25758eff946f429de284021b40d202ba78756a5",
"output": "> blender-web-editor@0.1.0-rc.1 test:vdb-viewport\n> playwright test --config playwright.config.ts -g \"both production viewport backends\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1264:1 renders a real NanoVDB volume through both production viewport backends (2.0m)\n\n 1 passed (2.0m)"
},
{
"token": "web:test:vdb-faults",
"familyIds": [
"N-015",
"N-023"
],
"command": "npm --prefix web run test:vdb-faults",
"exitCode": 0,
"durationMs": 6038,
"outputSha256": "6ab0e4445b5c80adb967c1e573f12339ee9e5bae3b5585ff42218a266df6d28c",
"output": "> blender-web-editor@0.1.0-rc.1 test:vdb-faults\n> playwright test --config playwright.config.ts -g \"NanoVDB paging from network, Worker and WebGPU device faults\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1344:1 recovers NanoVDB paging from network, Worker and WebGPU device faults (3.4s)\n\n 1 passed (5.2s)"
},
{
"token": "web:e2e:N-015|non-mesh",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-015|non-mesh\"",
"exitCode": 0,
"durationMs": 20310,
"outputSha256": "4c6c6c6b742c24240b0ea458175e2054ef5cc0357c02f06310cea664fa7d57dc",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-015|non-mesh\n\n\nRunning 10 tests using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:295:1 reads bounded non-mesh data blocks and previews supported geometry (2.6s)\n ✓ 2 tests/e2e/smoke.spec.ts:341:1 reports structured N-015 gates for previewable and resource-backed data (1.3s)\n ✓ 3 tests/e2e/smoke.spec.ts:402:1 enforces the N-015 one-million-point binary transfer gate (1.1s)\n ✓ 4 tests/e2e/smoke.spec.ts:417:1 rejects malformed N-015 binary chunks, integer overflow and budget overflow (947ms)\n ✓ 5 tests/e2e/smoke.spec.ts:1060:1 keeps N-015 selection history bounded and rejects stale raycast hits (974ms)\n ✓ 6 tests/e2e/smoke.spec.ts:1081:1 validates the N-015 curve gizmo interaction transaction boundary (1.4s)\n ✓ 7 tests/e2e/smoke.spec.ts:1098:40 previews an N-015 Curve handle drag and commits Main once in main-thread Chromium (3.4s)\n ✓ 8 tests/e2e/smoke.spec.ts:1098:40 previews an N-015 Curve handle drag and commits Main once in OffscreenCanvas Chromium (2.5s)\n ✓ 9 tests/e2e/smoke.spec.ts:1435:1 returns real Blender evaluations for legacy non-mesh geometry (1.6s)\n ✓ 10 tests/e2e/smoke.spec.ts:1467:1 keeps N-015 non-mesh previews in the OffscreenCanvas renderer (1.6s)\n\n 10 passed (19.5s)"
},
{
"token": "web:e2e:real OPFS quota",
"familyIds": [
"N-015"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"real OPFS quota\"",
"exitCode": 0,
"durationMs": 4212,
"outputSha256": "9ca11848c3935b40798325d6e54d68ec0e7c0d8eb880bb16ecba04a7ca85d3cc",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g real OPFS quota\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1595:1 enforces a real OPFS quota without replacing the committed project (1.5s)\n\n 1 passed (3.4s)"
},
{
"token": "web:test:grease-pencil",
"familyIds": [
"N-016"
],
"command": "npm --prefix web run test:grease-pencil",
"exitCode": 0,
"durationMs": 776,
"outputSha256": "c5419926826128e17eed9837fd237b2467eee712143f7f3f1c7eecc243fe6775",
"output": "> blender-web-editor@0.1.0-rc.1 test:grease-pencil\n> node ../tools/web/check-grease-pencil-roundtrip.mjs\n\ngrease-pencil-roundtrip-ok layer-frame-stroke=passed undo-redo=passed save-reopen=passed"
},
{
"token": "web:test:grease-pencil-editor",
"familyIds": [
"N-016"
],
"command": "npm --prefix web run test:grease-pencil-editor",
"exitCode": 0,
"durationMs": 4194,
"outputSha256": "71cfe010c8140d96ece7bddc359805a6dbcb54213224e78d40db436b9aef6605",
"output": "> blender-web-editor@0.1.0-rc.1 test:grease-pencil-editor\n> playwright test --config playwright.config.ts -g \"N-016 Grease Pencil editor context\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:510:1 validates the N-016 Grease Pencil editor context transaction boundary (1.5s)\n\n 1 passed (3.3s)"
},
{
"token": "web:e2e:N-016 Grease Pencil",
"familyIds": [
"N-016"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-016 Grease Pencil\"",
"exitCode": 0,
"durationMs": 21136,
"outputSha256": "feeb4c14236ca3766be2bcefb3bd7567074bc91940935c2731cdcd3e4a8b8f03",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-016 Grease Pencil\n\n\nRunning 12 tests using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:437:1 enforces the N-016 Grease Pencil layer/frame/drawing/stroke/point schema budget (1.5s)\n ✓ 2 tests/e2e/smoke.spec.ts:453:1 renders a bounded previous/next N-016 Grease Pencil onion-skin preview (914ms)\n ✓ 3 tests/e2e/smoke.spec.ts:485:3 renders the N-016 Grease Pencil current-frame strokes in main-thread Chromium (1.4s)\n ✓ 4 tests/e2e/smoke.spec.ts:485:3 renders the N-016 Grease Pencil current-frame strokes in OffscreenCanvas Chromium (1.4s)\n ✓ 5 tests/e2e/smoke.spec.ts:510:1 validates the N-016 Grease Pencil editor context transaction boundary (974ms)\n ✓ 6 tests/e2e/smoke.spec.ts:526:1 raycasts and highlights N-016 Grease Pencil points with stable drawing identity (1.4s)\n ✓ 7 tests/e2e/smoke.spec.ts:541:40 previews N-016 Grease Pencil points and commits Main once in main-thread Chromium (2.0s)\n ✓ 8 tests/e2e/smoke.spec.ts:541:40 previews N-016 Grease Pencil points and commits Main once in OffscreenCanvas Chromium (1.7s)\n ✓ 9 tests/e2e/smoke.spec.ts:565:1 edits N-016 Grease Pencil layers and frames from the bounded editor panel (1.7s)\n ✓ 10 tests/e2e/smoke.spec.ts:580:1 navigates real N-016 Grease Pencil drawing frames in the bounded Dope Sheet (1.8s)\n ✓ 11 tests/e2e/smoke.spec.ts:595:1 moves an N-016 Grease Pencil point through one revision-bound Main transaction (1.6s)\n ✓ 12 tests/e2e/smoke.spec.ts:606:1 reopens an edited N-016 Grease Pencil drawing after WebEngine Worker restart (1.5s)\n\n 12 passed (20.1s)"
},
{
"token": "web:test:paint-roundtrip",
"familyIds": [
"N-017"
],
"command": "npm --prefix web run test:paint-roundtrip",
"exitCode": 0,
"durationMs": 785,
"outputSha256": "d43258df5975ef194ba7c45c3758c8cac3e2ef89256510e4c1fedbc27f2b5b25",
"output": "> blender-web-editor@0.1.0-rc.1 test:paint-roundtrip\n> node ../tools/web/check-paint-roundtrip.mjs\n\npaint-roundtrip-ok vertex-color=passed vertex-weight-normalize=passed mirror-gate=passed undo-redo=passed save-reopen=passed"
},
{
"token": "web:e2e:N-017 paint",
"familyIds": [
"N-017"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-017 paint\"",
"exitCode": 0,
"durationMs": 4154,
"outputSha256": "204d84caabd73ba9be657483115ed1c2f681acf34ece9500ed5c0d5861c8fb7a",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-017 paint\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:648:1 enforces the N-017 paint stroke, bounded brush and UDIM patch budgets (1.4s)\n\n 1 passed (3.3s)"
},
{
"token": "web:e2e:N-018 physics",
"familyIds": [
"N-018"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-018 physics\"",
"exitCode": 0,
"durationMs": 4129,
"outputSha256": "cfc04a1e75861cfd87fd3b58ed016a9d2a85c854866fcfc314e97fbfe591d2fa",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-018 physics\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:746:1 validates the N-018 physics capability and cache manifests without claiming solvers (1.4s)\n\n 1 passed (3.3s)"
},
{
"token": "web:test:simulation-cache",
"familyIds": [
"N-018"
],
"command": "npm --prefix web run test:simulation-cache",
"exitCode": 0,
"durationMs": 4312,
"outputSha256": "62ebe648848c8feb9f768825b87175e9c6ba374ee93fa43e9e089525e2d62a87",
"output": "> blender-web-editor@0.1.0-rc.1 test:simulation-cache\n> playwright test --config playwright.config.ts -g \"Simulation caches\"\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1631:1 persists and revalidates content-addressed Simulation caches across Worker restarts (1.6s)\n\n 1 passed (3.4s)"
},
{
"token": "web:test:physics-main-reader",
"familyIds": [
"N-018"
],
"command": "npm --prefix web run test:physics-main-reader",
"exitCode": 0,
"durationMs": 771,
"outputSha256": "db1e7ed03da623f091a436357d0fdc025fa358e13040aa98c8658b7b307c080c",
"output": "> blender-web-editor@0.1.0-rc.1 test:physics-main-reader\n> node ../tools/web/check-physics-main-reader.mjs\n\nphysics-main-reader-ok families=CLOTH,SOFT_BODY dependencies=COLLISION settings-sha256=passed save-reopen=passed playback=BLOCKED solver=BLOCKED"
},
{
"token": "web:test:lighting-roundtrip",
"familyIds": [
"N-019"
],
"command": "npm --prefix web run test:lighting-roundtrip",
"exitCode": 0,
"durationMs": 775,
"outputSha256": "c9ddac34f9376983f0c67309583d0cb4a946d94f87421ffe1c9d6c3b39dbaba0",
"output": "> blender-web-editor@0.1.0-rc.1 test:lighting-roundtrip\n> node ../tools/web/check-lighting-roundtrip.mjs\n\nlighting-roundtrip-ok camera-writer-dof=passed light-shadow-exposure=passed world-mist=passed color-management-reader=passed white-balance-gate=passed undo-redo=passed save-reopen=passed"
},
{
"token": "web:e2e:N-019 Scene exposure",
"familyIds": [
"N-019"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-019 Scene exposure\"",
"exitCode": 0,
"durationMs": 4815,
"outputSha256": "282a7bd253cb7748b37e69df903c4d6c0b3420222a0228b1aad4f2af863ae9da",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-019 Scene exposure\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:772:1 maps N-019 Scene exposure and light shadow metadata without using legacy World exposure (2.1s)\n\n 1 passed (3.9s)"
},
{
"token": "web:test:compositor-main-reader",
"familyIds": [
"N-020"
],
"command": "npm --prefix web run test:compositor-main-reader",
"exitCode": 0,
"durationMs": 772,
"outputSha256": "8a4e76fcac535266cf3d4ac3166a2465334ed066c30a6bad5821c10f488e1e3b",
"output": "> blender-web-editor@0.1.0-rc.1 test:compositor-main-reader\n> node ../tools/web/check-compositor-main-reader.mjs\n\ncompositor-main-reader-ok graph-structure=passed exposure-invert-parameters=passed socket-links=passed unsupported-preserved=passed"
},
{
"token": "web:e2e:N-020 CPU compositor",
"familyIds": [
"N-020"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-020 CPU compositor\"",
"exitCode": 0,
"durationMs": 4109,
"outputSha256": "dc95f8f62abd9d6662f2a919d6aa82ce8154e4f014d2fd2290db78aec5987381",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-020 CPU compositor\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:834:1 executes the bounded N-020 CPU compositor and preserves unsupported nodes as gates (1.4s)\n\n 1 passed (3.3s)"
},
{
"token": "web:test:sequencer-main-reader",
"familyIds": [
"N-021"
],
"command": "npm --prefix web run test:sequencer-main-reader",
"exitCode": 0,
"durationMs": 730,
"outputSha256": "3cfbd29640e5da4df0505732f2d6f963663cb67414d5ee97eebe8a7ffbbbeea8",
"output": "> blender-web-editor@0.1.0-rc.1 test:sequencer-main-reader\n> node ../tools/web/check-sequencer-main-reader.mjs\n\nsequencer-main-reader-ok media-paths=passed still-image-range=passed fps=passed effect-dependencies=passed"
},
{
"token": "web:e2e:N-021 sequencer",
"familyIds": [
"N-021"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-021 sequencer\"",
"exitCode": 0,
"durationMs": 4157,
"outputSha256": "4f9551827b9a72bc512d7ceba8ca569e4a8623ff767da93bc79c901451c94233",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-021 sequencer\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:879:1 validates N-021 sequencer strips, deterministic edits, sandbox paths and codec gates (1.4s)\n\n 1 passed (3.3s)"
},
{
"token": "web:test:mask-main-reader",
"familyIds": [
"N-022"
],
"command": "npm --prefix web run test:mask-main-reader",
"exitCode": 0,
"durationMs": 743,
"outputSha256": "5fab1e2b7cdae27caa97ebbaf2b9c0f72a84cb44897b856ecbfd4d5162712027",
"output": "> blender-web-editor@0.1.0-rc.1 test:mask-main-reader\n> node ../tools/web/check-mask-main-reader.mjs\n\nmask-main-reader-ok layers-splines=passed handles-feather=passed locked-editable-selection=passed"
},
{
"token": "web:e2e:N-022 tracking",
"familyIds": [
"N-022"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-022 tracking\"",
"exitCode": 0,
"durationMs": 4096,
"outputSha256": "67420ec6e4a28f27f2346a7e6db835d2ca8bd281cd789371458b3d17a5693e2d",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-022 tracking\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:922:1 validates N-022 tracking markers, masks, resource bindings and solve gates (1.4s)\n\n 1 passed (3.3s)"
},
{
"token": "web:test:library-main-reader",
"familyIds": [
"N-023"
],
"command": "npm --prefix web run test:library-main-reader",
"exitCode": 0,
"durationMs": 753,
"outputSha256": "30d5e1d42dd164832e6dea514753d5e72251927249c5019e87dd79b6c8eaf392",
"output": "> blender-web-editor@0.1.0-rc.1 test:library-main-reader\n> node ../tools/web/check-library-main-reader.mjs\n\nreports | Read library: 'resources/image_resource_library.blend', '//resources/image_resource_library.blend', parent '<direct>'\n | \u001b[2;37msource/blender/blenkernel/intern/report.cc:51 BKE_report_log\u001b[0m\nreports | \u001b[1;33mWARNING\u001b[0m Unable to open 'resources/image_resource_library.blend': No such file or directory\n | \u001b[2;37msource/blender/blenkernel/intern/report.cc:54 BKE_report_log\u001b[0m\nreports | Cannot find lib 'resources/image_resource_library.blend'\n | \u001b[2;37msource/blender/blenkernel/intern/report.cc:51 BKE_report_log\u001b[0m\nlibrary-main-reader-ok relative-path=passed readonly=passed dependency-inventory=passed"
},
{
"token": "web:e2e:N-023 asset",
"familyIds": [
"N-023"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-023 asset\"",
"exitCode": 0,
"durationMs": 4191,
"outputSha256": "eb7f5ba2385cdf3279dab8ede7a792d238a01f3155e8d0e08e69d4e5e606cf94",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-023 asset\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:969:1 validates N-023 asset catalogs, library graphs, archive budgets and IO gates (1.5s)\n\n 1 passed (3.3s)"
},
{
"token": "web:test:editor-main-reader",
"familyIds": [
"N-024"
],
"command": "npm --prefix web run test:editor-main-reader",
"exitCode": 0,
"durationMs": 750,
"outputSha256": "534c21e20c5abe806079a385cacc0136c73a12f95600a66d52deef019509b8ba",
"output": "> blender-web-editor@0.1.0-rc.1 test:editor-main-reader\n> node ../tools/web/check-editor-main-reader.mjs\n\neditor-main-reader-ok workspaces=9 areas=36 regions=167"
},
{
"token": "web:e2e:N-024 editor",
"familyIds": [
"N-024"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-024 editor\"",
"exitCode": 0,
"durationMs": 4193,
"outputSha256": "79f7ba8129518e6d2819cc2e4dde8348b108ad61b5eaeb93e751cb0568bd522a",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-024 editor\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:997:1 validates N-024 editor context, selection sync, layout budgets and workflow gates (1.5s)\n\n 1 passed (3.4s)"
},
{
"token": "web:test:script-main-reader",
"familyIds": [
"N-025"
],
"command": "npm --prefix web run test:script-main-reader",
"exitCode": 0,
"durationMs": 779,
"outputSha256": "e73ad4daab4992a2e86e5e91a81d5e830c7d4604122e021da8fac36f90b37316",
"output": "> blender-web-editor@0.1.0-rc.1 test:script-main-reader\n> node ../tools/web/check-script-main-reader.mjs\n\nscript-main-reader-ok full-source=passed sha256=passed autorun-default-deny=passed"
},
{
"token": "web:test:scripting-isolation",
"familyIds": [
"N-025"
],
"command": "npm --prefix web run test:scripting-isolation",
"exitCode": 0,
"durationMs": 894,
"outputSha256": "6469327e0bb1c241dc7b0c0d184ca45cbe258f56638a245663c215eaa2ab91bf",
"output": "> blender-web-editor@0.1.0-rc.1 test:scripting-isolation\n> node ../tools/web/check-scripting-isolation.mjs\n\nscripting-isolation-ok status=BLOCKED audit=DENY approved-key=sandbox-unavailable server=unavailable execution=disabled"
},
{
"token": "web:e2e:N-025 script",
"familyIds": [
"N-025"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-025 script\"",
"exitCode": 0,
"durationMs": 4125,
"outputSha256": "dc5463f44e788eed8372e05f0c9cfcaff9ffa31b0badb3f881c768f2dd6c6805",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-025 script\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1017:1 validates N-025 script policy, signatures, budgets and platform gates (1.4s)\n\n 1 passed (3.3s)"
},
{
"token": "web:e2e:N-026 release",
"familyIds": [
"N-026"
],
"command": "npm --prefix web run test:e2e -- --workers=1 -g \"N-026 release\"",
"exitCode": 0,
"durationMs": 4146,
"outputSha256": "b9262c32aa2e913165d94cce4611a9422bcb3d66f5626317a7403c7972963e2a",
"output": "> blender-web-editor@0.1.0-rc.1 test:e2e\n> playwright test --config playwright.config.ts --workers=1 -g N-026 release\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/smoke.spec.ts:1040:1 keeps N-026 release manifest deterministic and blocks missing evidence (1.4s)\n\n 1 passed (3.3s)"
},
{
"token": "web:test:v1-user-loop",
"familyIds": [
"N-026"
],
"command": "npm --prefix web run test:v1-user-loop",
"exitCode": 0,
"durationMs": 5555,
"outputSha256": "82cbcac6791c98fa4f0effa80ab5de4f170cfc65b0883c06bf447ea45008146a",
"output": "> blender-web-editor@0.1.0-rc.1 test:v1-user-loop\n> playwright test --config playwright.config.ts tests/e2e/v1-user-loop.spec.ts\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/v1-user-loop.spec.ts:6:1 completes the V1 import-edit-save-restart-reopen-GLB loop (3.0s)\n\n 1 passed (4.7s)"
},
{
"token": "web:test:release-evidence",
"familyIds": [
"N-026"
],
"command": "npm --prefix web run test:release-evidence",
"exitCode": 0,
"durationMs": 1184,
"outputSha256": "fd4d31581227c482d4f7e165cbf83a313a667a6551a069c982c086d1b90fbaec",
"output": "> blender-web-editor@0.1.0-rc.1 test:release-evidence\n> node ../tools/web/check-release-evidence.mjs\n\nrelease-evidence-check-ok records=17 missing=0 status=READY"
},
{
"token": "web:test:browser",
"familyIds": [
"N-026"
],
"command": "npm --prefix web run test:browser",
"exitCode": 0,
"durationMs": 9223,
"outputSha256": "c31e3eb770f85aff43c5da17b2cb819b5a4d4bb69dfc85a9cb2319a24f7bfc12",
"output": "> blender-web-editor@0.1.0-rc.1 test:browser\n> playwright test --config playwright.release.config.ts\n\n\nRunning 3 tests using 1 worker\n\n ✓ 1 [chromium] tests/e2e/cross-browser.spec.ts:6:1 boots the offline engine, renders SceneIR and performs a Main edit (3.4s)\n ✓ 2 [chromium] tests/e2e/cross-browser.spec.ts:32:1 keeps content-addressed asset recovery available in Chromium (1.6s)\n ✓ 3 [chromium] tests/e2e/cross-browser.spec.ts:51:1 keeps the committed project after quota failure and Worker restart in Chromium (1.3s)\n\n 3 passed (8.1s)"
},
{
"token": "web:test:release-package",
"familyIds": [
"N-026"
],
"command": "npm --prefix web run test:release-package",
"exitCode": 0,
"durationMs": 7028,
"outputSha256": "d087f0a9f20a7027eccb94c7a9cc6b0b67924377510582a91755629debc8de0e",
"output": "> blender-web-editor@0.1.0-rc.1 test:release-package\n> npm run build && npm run release:sbom && node ../tools/web/check-release-package.mjs\n\n\n> blender-web-editor@0.1.0-rc.1 build\n> tsc -p tsconfig.json && vite build --config app/vite.config.ts\n\nvite v8.2.0 building client environment for production...\n\u001b[2K\rtransforming...✓ 54 modules transformed.\nrendering chunks...\ncomputing gzip size...\ndist/index.html 0.46 kB │ gzip: 0.30 kB\ndist/assets/storage.worker-COUVNftM.js 36.81 kB\ndist/assets/web-engine.worker-CWkf48pG.js 245.76 kB\ndist/assets/viewport-render.worker-DZmZ4IRD.js 601.32 kB\ndist/assets/web_engine-CvVHxFlQ.wasm 15,048.04 kB │ gzip: 3,562.32 kB\ndist/assets/index-QI0bg0OR.css 11.41 kB │ gzip: 3.18 kB\ndist/assets/index-YnUA2xia.js 978.22 kB │ gzip: 264.63 kB\n\n✓ built in 877ms\n\n> blender-web-editor@0.1.0-rc.1 release:sbom\n> node ../tools/web/generate-sbom.mjs\n\nsbom-ok packages=150 sha256=7d0fb22790c44bada5f01e5ebc12f6050e1c0436a53f58dceb2e979c17bb593a\nrelease-package-ok files=14 bytes=32896131\n\n[plugin rolldown:vite-resolve] Module \"module\" has been externalized for browser compatibility, imported by \"/home/mes123456/workinf_Blender_Wasm/web/app/src/vendor/blender/web_engine.js\". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.\n[plugin builtin:vite-reporter] \n(!) Some chunks are larger than 500 kB after minification. Consider:\n- Using dynamic import() to code-split the application\n- Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting\n- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit."
},
{
"token": "web:release:offline",
"familyIds": [
"N-026"
],
"command": "npm --prefix web run release:offline",
"exitCode": 0,
"durationMs": 45192,
"outputSha256": "0b59a36f3df2b4450493bfa7770e30b853cd97abdd761bef494e35ee738607e1",
"output": "> blender-web-editor@0.1.0-rc.1 release:offline\n> npm run build && node ../tools/web/check-offline-reproducibility.mjs\n\n\n> blender-web-editor@0.1.0-rc.1 build\n> tsc -p tsconfig.json && vite build --config app/vite.config.ts\n\nvite v8.2.0 building client environment for production...\n\u001b[2K\rtransforming...✓ 54 modules transformed.\nrendering chunks...\ncomputing gzip size...\ndist/index.html 0.46 kB │ gzip: 0.30 kB\ndist/assets/storage.worker-COUVNftM.js 36.81 kB\ndist/assets/web-engine.worker-CWkf48pG.js 245.76 kB\ndist/assets/viewport-render.worker-DZmZ4IRD.js 601.32 kB\ndist/assets/web_engine-CvVHxFlQ.wasm 15,048.04 kB │ gzip: 3,562.32 kB\ndist/assets/index-QI0bg0OR.css 11.41 kB │ gzip: 3.18 kB\ndist/assets/index-YnUA2xia.js 978.22 kB │ gzip: 264.63 kB\n\n✓ built in 880ms\nsbom-ok packages=150 sha256=7d0fb22790c44bada5f01e5ebc12f6050e1c0436a53f58dceb2e979c17bb593a\noffline-release-ok binary=7841801 source=206996277 sha256=8af6c782b8e4b31020219597b821160b7634439749c455fd31d9d919676e2e2e\nsbom-ok packages=150 sha256=7d0fb22790c44bada5f01e5ebc12f6050e1c0436a53f58dceb2e979c17bb593a\noffline-release-ok binary=7841801 source=206996277 sha256=8af6c782b8e4b31020219597b821160b7634439749c455fd31d9d919676e2e2e\noffline-reproducibility-ok binary=8af6c782b8e4b31020219597b821160b7634439749c455fd31d9d919676e2e2e source=ee09b3e43e715b3d5497573bbf63a449cbea146150d56c08c6506afd5fce2871\n\n[plugin rolldown:vite-resolve] Module \"module\" has been externalized for browser compatibility, imported by \"/home/mes123456/workinf_Blender_Wasm/web/app/src/vendor/blender/web_engine.js\". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.\n[plugin builtin:vite-reporter] \n(!) Some chunks are larger than 500 kB after minification. Consider:\n- Using dynamic import() to code-split the application\n- Use build.rolldownOptions.output.codeSplitting to improve chunking: https://rolldown.rs/reference/OutputOptions.codeSplitting\n- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit."
},
{
"token": "web:test:release-performance",
"familyIds": [
"N-026"
],
"command": "npm --prefix web run test:release-performance",
"exitCode": 0,
"durationMs": 89284,
"outputSha256": "e76cf7de997e507dbab0242f1cde2e6b291a9f99d63ef2ca2450332da16d9ea3",
"output": "> blender-web-editor@0.1.0-rc.1 test:release-performance\n> node ../tools/web/check-release-performance.mjs\n\nrelease-performance-ok [{\"target\":100000,\"ratio\":0.9,\"inputTriangles\":100000,\"outputTriangles\":89999,\"elapsedMs\":88241,\"peakHeapBytes\":67108864,\"releasedPointerCount\":10,\"recoveryAllocation\":true},{\"target\":1000000,\"ratio\":1,\"inputTriangles\":1000000,\"outputTriangles\":1000000,\"elapsedMs\":535,\"peakHeapBytes\":346554368,\"releasedPointerCount\":10,\"recoveryAllocation\":true}]\n\nHeap resize call from 67108864 to 80543744 took 0.2181620000046678 msecs. Success: true\nHeap resize call from 80543744 to 96665600 took 0.09495199999946635 msecs. Success: true\nHeap resize call from 96665600 to 115998720 took 0.04383199999574572 msecs. Success: true\nHeap resize call from 115998720 to 139198464 took 0.05545200000051409 msecs. Success: true\nHeap resize call from 139198464 to 167051264 took 1.4360670000023674 msecs. Success: true\nHeap resize call from 167051264 to 200474624 took 1.4820880000042962 msecs. Success: true\nHeap resize call from 200474624 to 240582656 took 1.6095040000072913 msecs. Success: true\nHeap resize call from 240582656 to 288751616 took 1.3340389999939362 msecs. Success: true\nHeap resize call from 288751616 to 346554368 took 1.456514999998035 msecs. Success: true"
},
{
"token": "web:test:malicious-blends",
"familyIds": [
"N-026"
],
"command": "npm --prefix web run test:malicious-blends",
"exitCode": 0,
"durationMs": 507,
"outputSha256": "acd3b170723a0b560590b327a3eea3a119df2c246e46c6d849a5ccb3e8766d74",
"output": "> blender-web-editor@0.1.0-rc.1 test:malicious-blends\n> node ../tools/web/check-malicious-blends.mjs\n\nmalicious-blends-ok rejected=5"
}
]
}