Files
workinf_Blender_Wasm/docs/status/release-evidence.json
2026-08-15 01:01:23 -04:00

924 lines
51 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": 4,
"source": "docs/status/parity-ledger.json",
"sourceSha256": "1e16518a25c6b6bed4ab7f605ea1ad5babe529f2842c858b20ae6daae30bd478",
"generatedAt": "2026-08-15T04:43:09.832Z",
"families": [
{
"id": "N-015",
"name": "Non-mesh geometry",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"C3-roundtrip",
"D2-nanovdb-bounded-webgpu-integration",
"E2-vdb-network-worker-quota-tamper-rollback-faults"
],
"v1ExcludedSlices": [
"C2-new-external-font-import",
"D2-nanovdb-production-viewport-automatic-page-fault-depth-composition",
"C3-volume-combined-asset-viewport-reopen",
"E1-volume-glb-usd-loss-desktop-chromium-golden",
"E2-vdb-large-stream-device-loss-oom"
],
"roadmapStatus": "in_progress",
"completedSlices": [
"A1",
"A2-malformed-binary-partial",
"A2-integer-overflow-fixtures",
"A2-multichunk-attribute-completeness",
"B2",
"B3-metadata",
"B3-vdb-conversion-request-boundary",
"B3-nanovdb-manifest-range-hash-protocol",
"B3-nanovdb-serial-range-streamer",
"B3-vdb-stage-capability-gates",
"B3-vdb-real-resource-license-hash-catalog",
"B3-desktop-openvdb13-nanovdb32-converter",
"B3-native-conversion-determinism-malformed-input",
"B3-vdb-server-job-isolation-cancel-timeout",
"B3-vdb-desktop-server-hash-equality",
"B3-nanovdb-http-retry-if-range-body-resume",
"C1-topology-partial",
"C1-handle-points-partial",
"C1-handle-preview-raycast-partial",
"C1-handle-identity-gizmo-main-roundtrip",
"C1-multi-handle-selection-highlight-bounded-commit",
"C1-gizmo-revision-delta-transaction-boundary",
"C1-continuous-handle-gizmo-preview-single-commit",
"C1-handle-local-origin-orientation-gizmo",
"C1-rename-partial",
"C1-create-delete-poly-partial",
"C1-poly-bezier-nurbs-1d-conversion",
"C1-multispline-create-delete-bulk-handle-cyclic-transaction",
"C1-surface-2d-topology-transaction",
"C2-font-geometry-partial",
"C2-font-layout-partial",
"C2-font-character-style-textbox-roundtrip",
"C2-existing-packed-vfont-style-links",
"C2-builtin-font-evaluation-exact",
"C3-roundtrip",
"C3-volume-main-properties-save-reopen",
"C3-nanovdb-opfs-binding-worker-reopen",
"D1-raycast-partial",
"D1-offscreen-vert-edge-partial",
"D1-selection-history-partial",
"D1-cross-object-history-range-patch",
"D1-handle-identity-axis-gizmo",
"D2-partial",
"D2-nanovdb-float32-cpu-wgsl-sampling",
"D2-nanovdb-bounded-webgpu-integration",
"D2-webgpu-device-loss-session-recovery",
"D2-nanovdb-grid-material-mapping",
"D2-nanovdb-explicit-resident-page-lru-recovery",
"E1-partial",
"E1-desktop-geometry-golden",
"E1-true-2d-surface-desktop-golden",
"E1-glb-evaluated-nonmesh-roundtrip-partial",
"E1-glb-curve-line-surface-mesh-evaluated",
"E1-usda-four-object-desktop-roundtrip",
"E1-pointcloud-curves-hair-glb-usd-loss-fixture",
"E2-1M-chromium",
"E2-chromium-worker-recovery",
"E2-opfs-quota-chromium",
"E2-vdb-network-worker-quota-tamper-rollback-faults"
],
"blockedSlices": [
"C2-new-external-font-import",
"D2-nanovdb-production-viewport-automatic-page-fault-depth-composition",
"C3-volume-combined-asset-viewport-reopen",
"E1-volume-glb-usd-loss-desktop-chromium-golden",
"E2-vdb-large-stream-device-loss-oom"
],
"excludedSlices": [],
"acceptance": [
"web:test:nonmesh-roundtrip",
"web:test:nonmesh-desktop-golden",
"web:test:nonmesh-glb-blender-roundtrip",
"web:test:nonmesh-usd-serialization",
"web:test:nonmesh-usd-blender-roundtrip",
"web:test:nonmesh-binary",
"web:test:selection-history",
"web:test:nonmesh-interaction",
"web:test:vdb",
"web:test:vdb-availability",
"web:test:vdb-native",
"web:test:vdb-server",
"web:test:vdb-opfs",
"web:test:vdb-webgpu",
"web:test:vdb-viewport",
"web:test:vdb-faults",
"web:e2e:N-015|non-mesh",
"web:e2e:real OPFS quota"
],
"dependencies": []
},
{
"id": "N-016",
"name": "Grease Pencil",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"D-worker-restart-save-reopen"
],
"v1ExcludedSlices": [
"C-material-modifier-full-semantics",
"D-full-2d-canvas-marquee-dope-editor",
"E-desktop-browser-golden-export-opfs"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-schema-budget",
"A-main-reader",
"B-layer-frame-stroke-transaction-partial",
"C-point-radius-opacity-color-cyclic-material-partial",
"C-bounded-previous-next-onion-preview",
"D-current-frame-stroke-preview-main-offscreen-chromium",
"D-editor-layer-frame-selection-context-partial",
"D-editor-main-layer-frame-panel-partial",
"D-single-point-revision-bound-main-translation",
"D-viewport-point-raycast-multipoint-gizmo-transaction",
"D-continuous-point-preview-single-main-commit",
"D-bounded-drawing-frame-dope-navigation",
"D-worker-restart-save-reopen"
],
"blockedSlices": [
"C-material-modifier-full-semantics",
"D-full-2d-canvas-marquee-dope-editor",
"E-desktop-browser-golden-export-opfs"
],
"acceptance": [
"web:test:grease-pencil",
"web:test:grease-pencil-editor",
"web:e2e:N-016 Grease Pencil"
],
"dependencies": [
"N-015"
]
},
{
"id": "N-017",
"name": "Paint and weights",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"B-blender52-vertex-group-summary-save-reopen",
"C-udim-memory-range-patch-hash-boundary"
],
"v1ExcludedSlices": [
"A-real-pbvh-depth-occlusion-desktop-falloff",
"B-clean-mirror-desktop-brush",
"C-blender-packed-udim-dirty-atomic-save",
"D-E-face-mask-gpu-quota-desktop-golden"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-stroke-hit-weight-schema-budget-partial",
"A-three-raycast-source-face-barycentric-uv",
"A-bounded-cpu-candidate-falloff",
"A-uniform-grid-candidate-depth-visibility-gate",
"A-selection-mask-identity-gated-brush-patch",
"B-main-vertex-color-partial",
"B-main-vertex-weight-normalize-partial",
"B-selected-vertex-color-weight-ui-transaction-partial",
"B-selection-masked-color-weight-main-transaction",
"B-blender52-vertex-group-summary-save-reopen",
"C-udim-memory-range-patch-hash-boundary"
],
"blockedSlices": [
"A-real-pbvh-depth-occlusion-desktop-falloff",
"B-clean-mirror-desktop-brush",
"C-blender-packed-udim-dirty-atomic-save",
"D-E-face-mask-gpu-quota-desktop-golden"
],
"acceptance": [
"web:test:paint-roundtrip",
"web:e2e:N-017 paint"
],
"dependencies": [
"N-016"
]
},
{
"id": "N-018",
"name": "Physics and simulation",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"C-browser-transform-storage-restart-playback"
],
"v1ExcludedSlices": [
"A-B-full-family-settings-effectors-cache-binding",
"C-desktop-bake-decoder-playback-100-frame-golden",
"D-wasm-solvers",
"E-bake-server-recovery-progress-ui"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-family-capability-inventory",
"A-authoritative-main-physics-reader-partial",
"B-settings-dependency-cache-manifest-partial",
"B-cloth-softbody-collision-settings-sha256-save-reopen",
"C-exact-frame-selection-gate",
"C-content-addressed-frame-range-read-hash-gate",
"C-browser-transform-frame-binary-decoder",
"C-browser-transform-sceneir-preview",
"C-browser-transform-cancellable-playback-session",
"C-browser-transform-storage-restart-playback"
],
"blockedSlices": [
"A-B-full-family-settings-effectors-cache-binding",
"C-desktop-bake-decoder-playback-100-frame-golden",
"D-wasm-solvers",
"E-bake-server-recovery-progress-ui"
],
"acceptance": [
"web:e2e:N-018 physics",
"web:test:simulation-cache",
"web:test:physics-main-reader"
],
"dependencies": [
"N-017"
]
},
{
"id": "N-019",
"name": "Lighting and render",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"B-world-scene-render-delta-roundtrip",
"B-C-nanovdb-float32-wgsl-bounded-ray-integration"
],
"v1ExcludedSlices": [
"A",
"B",
"C",
"D",
"E",
"B-C-nanovdb-production-viewport-paging-advanced-material",
"E-volume-desktop-chromium-pixel-golden"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-camera-light-world-scene-reader-partial",
"A-main-camera-dof-properties-partial",
"A-main-light-world-properties-partial",
"A-white-balance-integrity-gate",
"B-three-exposure-shadow-mapping-partial",
"B-bounded-kelvin-linear-light-color",
"B-world-scene-render-delta-roundtrip",
"B-volume-material-manifest-boundary",
"B-C-nanovdb-float32-wgsl-bounded-ray-integration"
],
"blockedSlices": [
"A",
"B",
"C",
"D",
"E",
"B-C-nanovdb-production-viewport-paging-advanced-material",
"E-volume-desktop-chromium-pixel-golden"
],
"acceptance": [
"web:test:lighting-roundtrip",
"web:e2e:N-019 Scene exposure"
],
"dependencies": [
"N-018"
]
},
{
"id": "N-020",
"name": "Compositor",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"B-real-main-exposure-invert-cpu-chain",
"D-unsupported-node-preservation-gate"
],
"v1ExcludedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-graph-resource-cycle-schema",
"A-main-graph-structure-reader-partial",
"A-main-exposure-default-invert-parameter-reader",
"B-bounded-cpu-executor-partial",
"B-real-main-exposure-invert-cpu-chain",
"C-image-operation-budget-cancel-partial",
"C-content-addressed-frame-lru-cache",
"D-unsupported-node-preservation-gate"
],
"blockedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"acceptance": [
"web:test:compositor-main-reader",
"web:e2e:N-020 CPU compositor"
],
"dependencies": [
"N-019"
]
},
{
"id": "N-021",
"name": "Sequencer and audio",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"B-real-main-cross-still-frame-resolution",
"C-runtime-codec-probe-gate"
],
"v1ExcludedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-strip-resource-schema",
"A-main-strip-timeline-reader-partial",
"B-deterministic-move-trim-split-partial",
"B-source-frame-seek",
"B-active-frame-dependency-resolution",
"B-cross-transition-progress-input-resolution",
"B-real-main-cross-still-frame-resolution",
"C-runtime-codec-probe-gate"
],
"blockedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"acceptance": [
"web:test:sequencer-main-reader",
"web:e2e:N-021 sequencer"
],
"dependencies": [
"N-020"
]
},
{
"id": "N-022",
"name": "Tracking and masks",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"C-browser-probe-solve-gate",
"D-real-main-locked-editable-raycast-marquee"
],
"v1ExcludedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-clip-track-plane-mask-schema",
"A-main-mask-layer-spline-point-reader",
"B-revision-marker-mask-edit-partial",
"B-source-hash-binding-validation",
"C-browser-probe-solve-gate",
"D-mask-bezier-stable-identity-raycast",
"D-mask-stable-identity-marquee-selection",
"D-real-main-locked-editable-raycast-marquee"
],
"blockedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"acceptance": [
"web:test:mask-main-reader",
"web:e2e:N-022 tracking"
],
"dependencies": [
"N-021"
]
},
{
"id": "N-023",
"name": "Assets, libraries and IO",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"C-glb-export-usd-analysis-gates",
"E-archive-path-conflict-compressed-budget-range-plan",
"E-nanovdb-opfs-tamper-rollback-quota-recovery"
],
"v1ExcludedSlices": [
"A",
"B",
"C",
"D",
"E",
"E-nanovdb-large-bundle-performance"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-catalog-asset-license-source-schema",
"A-content-addressed-opfs-capability",
"A-preview-content-signature-dimension-verification",
"A-vdb-external-resource-license-sha-catalog",
"B-library-dependency-order-partial",
"B-main-library-inventory-reader",
"C-glb-export-usd-analysis-gates",
"E-archive-path-ratio-budget",
"E-archive-path-conflict-compressed-budget-range-plan",
"E-nanovdb-http206-range-hash-streaming-boundary",
"E-nanovdb-http-retry-if-range-body-resume",
"E-nanovdb-opfs-atomic-binding-worker-reopen-bundle-lru",
"E-nanovdb-opfs-tamper-rollback-quota-recovery",
"E-nanovdb-gpu-resident-page-lru"
],
"blockedSlices": [
"A",
"B",
"C",
"D",
"E",
"E-nanovdb-large-bundle-performance"
],
"acceptance": [
"web:test:library-main-reader",
"web:test:vdb-faults",
"web:e2e:N-023 asset"
],
"dependencies": [
"N-022"
]
},
{
"id": "N-024",
"name": "Editors and workflow",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_BOUNDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"C-executable-context-filtered-operator-search",
"D-context-scoped-keymap-resolution"
],
"v1ExcludedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-unified-area-region-context",
"B-read-only-editor-manifest-partial",
"B-main-workspace-area-region-reader",
"C-selection-sync-revision-partial",
"C-executable-context-filtered-operator-search",
"D-keymap-layout-budget-gates",
"D-normalized-key-chord-conflict-resolution",
"D-context-scoped-keymap-resolution"
],
"blockedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"acceptance": [
"web:test:editor-main-reader",
"web:e2e:N-024 editor"
],
"dependencies": [
"N-023"
]
},
{
"id": "N-025",
"name": "Scripting and platform",
"parityStatus": "BLOCKED",
"releaseClass": "EXCLUDED",
"releaseStatus": "READY",
"v1RequiredSlices": [
"A-default-deny-script-policy",
"B-approved-key-still-sandbox-blocked-audit",
"D-platform-capability-report"
],
"v1ExcludedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-default-deny-script-policy",
"A-main-text-source-inventory-reader",
"B-signed-manifest-permission-budget",
"B-approved-key-still-sandbox-blocked-audit",
"B-request-decision-audit-receipt",
"C-server-source-hash-job-gate",
"D-platform-capability-report",
"E-bounded-replay-resistant-audit-hash-chain"
],
"blockedSlices": [
"A",
"B",
"C",
"D",
"E"
],
"acceptance": [
"web:test:script-main-reader",
"web:test:scripting-isolation",
"web:e2e:N-025 script"
],
"dependencies": [
"N-024"
]
},
{
"id": "N-026",
"name": "Release gate",
"parityStatus": "BLOCKED",
"releaseClass": "LOCAL_EXACT",
"releaseStatus": "READY",
"v1RequiredSlices": [
"B-v1-p0-user-loop"
],
"v1ExcludedSlices": [
"A",
"B",
"C",
"D",
"E",
"C-vdb-server-webgpu-save-reopen-golden-evidence"
],
"roadmapStatus": "planned",
"completedSlices": [
"A-machine-readable-parity-manifest",
"A-dependency-status-validation",
"A-command-hash-evidence-binding",
"A-known-enabled-field-artifact-binding",
"B-chromium-runtime-evidence-gate",
"B-chromium-full-suite-evidence",
"B-v1-p0-user-loop",
"C-performance-fault-provenance-gate",
"C-performance-1M-malicious-input-partial",
"C-performance-4k-texture-upload-render",
"C-performance-8k-texture-upload-render",
"C-simulation-cache-opfs-playback-performance",
"C-network-interruption-main-save-reopen",
"C-main-thread-webgl-device-loss-recovery",
"C-zip-bomb-ratio-rejection",
"C-vdb-resource-converter-provenance-partial",
"C-vdb-network-opfs-quota-tamper-device-loss-partial",
"C-release-package-notices-partial",
"C-spdx-2.3-lockfile-sbom",
"D-deterministic-manifest-serialization",
"D-offline-reproducible-source-archive-partial"
],
"blockedSlices": [
"A",
"B",
"C",
"D",
"E",
"C-vdb-server-webgpu-save-reopen-golden-evidence"
],
"acceptance": [
"web:e2e:N-026 release",
"web:test:v1-user-loop",
"web:test:release-evidence",
"web:test:browser",
"web:test:release-package",
"web:release:offline",
"web:test:release-performance",
"web:test:malicious-blends"
],
"dependencies": [
"N-015",
"N-016",
"N-017",
"N-018",
"N-019",
"N-020",
"N-021",
"N-022",
"N-023",
"N-024",
"N-025"
]
}
],
"evidence": {
"browser": {
"chromium": true
},
"runtime": {
"offline": true,
"workerRestart": true,
"opfsRecovery": true
},
"performance": {
"geometry1M": true,
"geometry10M": true,
"texture4K": true,
"texture8K": true,
"longMedia": true,
"simulationCache": true
},
"faults": {
"oom": true,
"deviceLoss": true,
"networkInterrupt": true,
"malformedBlend": true,
"zipBomb": true
},
"provenance": {
"license": true,
"sbom": true,
"sourceOffer": true,
"deterministicPackage": true
},
"records": [
{
"id": "sbom",
"fields": [
"provenance.license",
"provenance.sbom"
],
"command": "npm --prefix web run release:sbom",
"exitCode": 0,
"durationMs": 343,
"output": "> blender-web-editor@0.1.0 release:sbom\n> node ../tools/web/generate-sbom.mjs\n\nsbom-ok packages=150 sha256=aa50a5b98ebb51c98c6eced2ec32dff96b8df6d90e10cc101ce9e8eb44695060",
"artifactSha256": [
"aa50a5b98ebb51c98c6eced2ec32dff96b8df6d90e10cc101ce9e8eb44695060",
"d5ec6e6ec9e1e0a50fe4455513a2938838609d3809224eaf26a2ebfac474f0ae",
"e7b16da68885fe43f32ab7b3eeb2c037b4fd8bf54fe6d5e77049aa51e294b1fb"
]
},
{
"id": "vdb-boundary",
"fields": [],
"command": "npm --prefix web run test:vdb-availability && npm --prefix web run test:vdb-native && npm --prefix web run test:vdb",
"exitCode": 0,
"durationMs": 5619,
"output": "> blender-web-editor@0.1.0 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\n\n> blender-web-editor@0.1.0 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\n\n> blender-web-editor@0.1.0 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.5s)\n\n 1 passed (3.2s)\n\n[WebServer] (node:2314584) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2314596) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"885edcc156f87abdbddb0e70fde5566130acfc2770a0b6764d66d12c344973a6",
"7b2d576a613dff314f4b40177f10efa3c01e160b7aeb10bf95a69f6553f8f73b",
"a4c57345a4ea7302b9e2a7e0f8b0ed48f8f27c3ac70d41e02f6d92475a751298",
"179868fde557873b4c74c48e2f0d3199784efb6309ed00dd17310b494b975483",
"379dcc11dc7de0dfec4745763bddf3cc415a5f5dbe48500fefae2f7508095bb5"
]
},
{
"id": "v1-user-loop",
"fields": [],
"command": "npm --prefix web run test:v1-user-loop && npm --prefix web run test:v1-acceptance-evidence",
"exitCode": 0,
"durationMs": 5366,
"output": "> blender-web-editor@0.1.0 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 (2.7s)\n\n 1 passed (4.2s)\n\n> blender-web-editor@0.1.0 test:v1-acceptance-evidence\n> node ../tools/web/check-v1-acceptance-evidence.mjs\n\nv1-acceptance-evidence-ok families=12 declarations=50 unique=49 sha256=74c01764987c3dce0601a20cdf494f8076102f6d54262a1d13df953abee96160\n\n[WebServer] (node:2314858) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2314870) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"3defbaa426195254fcaefaddabf9b128002a94def03aa255513c33eaf4ac0926",
"5d87a9ea57bd7a1888f16a5f4306e1c6d3a1bdfcf832c9485fe8518aac528fd8",
"74c01764987c3dce0601a20cdf494f8076102f6d54262a1d13df953abee96160"
]
},
{
"id": "chromium",
"fields": [
"browser.chromium",
"runtime.offline",
"runtime.workerRestart",
"runtime.opfsRecovery"
],
"command": "npm --prefix web run test:e2e -- --workers=1 && npm --prefix web run test:browser",
"exitCode": 0,
"durationMs": 366958,
"output": "udgets without double counting LOD (1.0s)\n ✓ 107 tests/e2e/smoke.spec.ts:2874:1 round-trips LOD geometry through the local binary mesh cache container (993ms)\n ✓ 108 tests/e2e/smoke.spec.ts:2898:1 blocks ImageIR paths outside the project asset sandbox (1.3s)\n ✓ 109 tests/e2e/smoke.spec.ts:2941:1 extracts Blender packed image bytes through the local asset request API (1.3s)\n ✓ 110 tests/e2e/smoke.spec.ts:2986:1 matches Blender Depsgraph deformation golden within the declared error budget (1.4s)\n ✓ 111 tests/e2e/smoke.spec.ts:3025:1 evaluates the full Blender Depsgraph or reports its safe capability gate (1.3s)\n ✓ 112 tests/e2e/smoke.spec.ts:3085:1 exports layered Action keyframes through SceneIR (1.3s)\n ✓ 113 tests/e2e/smoke.spec.ts:3126:1 patches changed mesh buffer ranges without replacing stable topology (1.0s)\n ✓ 114 tests/e2e/smoke.spec.ts:3150:1 renders through the capability-gated OffscreenCanvas worker (1.3s)\n ✓ 115 tests/e2e/smoke.spec.ts:3163:1 coalesces linked mesh objects into a raycastable instance group (1.8s)\n ✓ 116 tests/e2e/smoke.spec.ts:3171:1 returns structured gates for the undeclared capability protocols (1.1s)\n ✓ 117 tests/e2e/smoke.spec.ts:3230:1 exposes PBR-007 to PBR-012 renderer security gates (1.0s)\n ✓ 118 tests/e2e/smoke.spec.ts:3264:1 transfers packed raster assets into the PBR viewport with an explicit status (1.6s)\n ✓ 119 tests/e2e/smoke.spec.ts:3273:1 uses the same packed texture payload in the OffscreenCanvas renderer (1.3s)\ntexture-4k-performance {\"width\":4096,\"height\":4096,\"status\":{\"loaded\":1,\"rejected\":0,\"bytes\":254670,\"errors\":[],\"errorCodes\":[]},\"byteLength\":254670,\"estimatedPeakGpuBytes\":67108864,\"released\":true,\"recoveryVisible\":true,\"colored\":4096,\"elapsedMs\":705}\n ✓ 120 tests/e2e/texture-4k-performance.spec.ts:3:1 decodes, uploads and renders a validated 4K texture in Chromium (1.8s)\ntexture-8k-performance {\"supported\":true,\"maxTextureSize\":8192,\"width\":8192,\"height\":8192,\"status\":{\"loaded\":1,\"rejected\":0,\"bytes\":972714,\"errors\":[],\"errorCodes\":[]},\"byteLength\":972714,\"estimatedPeakGpuBytes\":268435456,\"released\":true,\"recoveryVisible\":true,\"colored\":4096,\"elapsedMs\":2650}\n ✓ 121 tests/e2e/texture-8k-performance.spec.ts:3:1 decodes, uploads and renders a validated 8K texture in Chromium (4.0s)\n ✓ 122 tests/e2e/v1-user-loop.spec.ts:6:1 completes the V1 import-edit-save-restart-reopen-GLB loop (2.3s)\n\n Slow test file: tests/e2e/smoke.spec.ts (5.5m)\n Consider running tests from slow files in parallel. See: https://playwright.dev/docs/test-parallel\n 122 passed (6.0m)\n\n> blender-web-editor@0.1.0 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 (2.7s)\n ✓ 2 [chromium] tests/e2e/cross-browser.spec.ts:32:1 keeps content-addressed asset recovery available in Chromium (1.1s)\n ✓ 3 [chromium] tests/e2e/cross-browser.spec.ts:51:1 keeps the committed project after quota failure and Worker restart in Chromium (1.1s)\n\n 3 passed (6.5s)\n\n[WebServer] (node:2315163) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2315175) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n(node:2315221) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2321103) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2321115) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"5d87a9ea57bd7a1888f16a5f4306e1c6d3a1bdfcf832c9485fe8518aac528fd8"
]
},
{
"id": "geometry-1m",
"fields": [
"performance.geometry1M"
],
"command": "npm --prefix web run test:release-performance",
"exitCode": 0,
"durationMs": 84015,
"output": "> blender-web-editor@0.1.0 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\":82975,\"peakHeapBytes\":67108864,\"releasedPointerCount\":10,\"recoveryAllocation\":true},{\"target\":1000000,\"ratio\":1,\"inputTriangles\":1000000,\"outputTriangles\":1000000,\"elapsedMs\":518,\"peakHeapBytes\":346554368,\"releasedPointerCount\":10,\"recoveryAllocation\":true}]\n\nHeap resize call from 67108864 to 80543744 took 0.18726400000741705 msecs. Success: true\nHeap resize call from 80543744 to 96665600 took 0.08590900000126567 msecs. Success: true\nHeap resize call from 96665600 to 115998720 took 0.04599199999938719 msecs. Success: true\nHeap resize call from 115998720 to 139198464 took 0.059525000004214235 msecs. Success: true\nHeap resize call from 139198464 to 167051264 took 1.4840919999987818 msecs. Success: true\nHeap resize call from 167051264 to 200474624 took 1.4312449999997625 msecs. Success: true\nHeap resize call from 200474624 to 240582656 took 1.4865769999887561 msecs. Success: true\nHeap resize call from 240582656 to 288751616 took 1.4735839999921154 msecs. Success: true\nHeap resize call from 288751616 to 346554368 took 1.4832890000107 msecs. Success: true",
"artifactSha256": [
"5d87a9ea57bd7a1888f16a5f4306e1c6d3a1bdfcf832c9485fe8518aac528fd8"
]
},
{
"id": "geometry-10m",
"fields": [
"performance.geometry10M"
],
"command": "npm --prefix web run test:geometry-10m-performance",
"exitCode": 0,
"durationMs": 5565,
"output": "> blender-web-editor@0.1.0 test:geometry-10m-performance\n> playwright test --config playwright.config.ts tests/e2e/geometry-10m-performance.spec.ts\n\n\nRunning 1 test using 1 worker\n\ngeometry-10m-performance {\"triangleCount\":10000000,\"chunkCount\":40,\"transferredBytes\":180492000,\"peakWorkingSetBytes\":4512300,\"manifestSha256\":\"224738e0c3aa28ae42167bf8974455a3d0f940f59f19eb51c5768f435c66b24f\",\"firstInteractiveMs\":1002,\"chunksAtFirstInteractive\":18,\"estimatedGpuBytes\":1124880,\"wasmAllocatedBytes\":0,\"baselineHeapBytes\":40421007,\"peakHeapBytes\":128051538,\"afterHeapBytes\":99970221,\"cacheDeleted\":true,\"recoveryVisible\":2372,\"cancelLatencyMs\":51,\"elapsedMs\":1681}\n ✓ 1 tests/e2e/geometry-10m-performance.spec.ts:3:1 streams ten-million-triangle SceneIR ranges into a bounded interactive LOD (3.2s)\n\n 1 passed (4.7s)\n\n[WebServer] (node:2321602) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2321614) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n(node:2321660) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"6f2708499d59a5e0e90e4581359d6131428c22da0da1543bb4aa0fc38e5e6b29",
"04743733e385f33efbb144b0c6cd831a21840dad9b6e0715e8a73791d8a95e33",
"969bda967852622b78bd5c0a56b0c0832bf1e46b19fa09b6b26316f2c367fdaf",
"f7501e2b4ad6f8df11167197b0d10f77f16b9b385459937011ab486d6b145157"
]
},
{
"id": "long-media",
"fields": [
"performance.longMedia"
],
"command": "npm --prefix web run test:long-media-performance",
"exitCode": 0,
"durationMs": 4707,
"output": "> blender-web-editor@0.1.0 test:long-media-performance\n> playwright test --config playwright.config.ts tests/e2e/long-media-performance.spec.ts\n\n\nRunning 1 test using 1 worker\n\nlong-media-performance {\"frameCount\":1000000,\"stripCount\":10001,\"referenceCount\":11914,\"indexBuildMs\":207,\"coldSeekMs\":1,\"hotSeekMs\":0,\"randomSeekMs\":6,\"cacheBytes\":16305,\"evictions\":71,\"releasedCacheBytes\":16305,\"cacheBytesAfterDispose\":0,\"restartedReleasedCacheBytes\":16305,\"restartedCacheBytesAfterDispose\":0,\"workerRestartRecovered\":true,\"manifestSha256\":\"d2e7e3c5ed9ae4fda6fe358cebb474f5774f1d2037dff3df9b6dfde9e0bebd2d\",\"elapsedMs\":861}\n ✓ 1 tests/e2e/long-media-performance.spec.ts:8:1 indexes, seeks, cancels and reopens a bounded one-million-frame media timeline (2.3s)\n\n 1 passed (3.9s)\n\n[WebServer] (node:2321890) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2321902) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n(node:2321948) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"3427a057e564c9e1b16d464d06e65cde90ae8557f4f51cb98ad43774658e8dca",
"70faaf13e2a55af6ff40951ef29a27f7b391ed6dd55310cb2283678cc9b8a993",
"42be8d81cb0fc170986fcf187666e8bd8b93fb5992d7e13d1d569ba1a30da1f3",
"295b083db2299ab904947eb39c17173de70c211882b0d855537d8f3cc27698ed",
"56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9"
]
},
{
"id": "simulation-cache",
"fields": [
"performance.simulationCache"
],
"command": "npm --prefix web run test:simulation-cache-performance",
"exitCode": 0,
"durationMs": 7118,
"output": "> blender-web-editor@0.1.0 test:simulation-cache-performance\n> playwright test --config playwright.config.ts tests/e2e/simulation-cache-performance.spec.ts\n\n\nRunning 1 test using 1 worker\n\nsimulation-cache-performance {\"backend\":\"opfs\",\"frameCount\":600,\"byteLength\":52800,\"status\":\"COMPLETED\",\"appliedFrames\":600,\"lastFrame\":600,\"publishedFrames\":600,\"lastTranslation\":60,\"storeMs\":78,\"playbackMs\":3171,\"elapsedMs\":3249,\"peakCacheBytes\":52800,\"pendingRequestsAfterTerminate\":0,\"workerRestartRecovered\":true}\n ✓ 1 tests/e2e/simulation-cache-performance.spec.ts:3:1 meets the Chromium OPFS Simulation cache playback performance gate (4.7s)\n\n 1 passed (6.3s)\n\n[WebServer] (node:2322188) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2322200) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n(node:2322246) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"c8074425a4556c8d08c2382dc9fd7be8aa6078d11a45640c4b19bf6ef45aa590",
"331d5c6a59dc80a12cc7105abbd60d25a64a113809eae9ad3d4061d81ec5f59f",
"535285f629b981e63e423f16df47d90afea4f5f17fca2bef36d0f6a8236697b2"
]
},
{
"id": "malformed-blend",
"fields": [
"faults.malformedBlend"
],
"command": "npm --prefix web run test:malicious-blends",
"exitCode": 0,
"durationMs": 510,
"output": "> blender-web-editor@0.1.0 test:malicious-blends\n> node ../tools/web/check-malicious-blends.mjs\n\nmalicious-blends-ok rejected=5",
"artifactSha256": [
"6fcc55bda74da8c95da96ba068b60339bf60ca44147ff8000fbb95d296db2a73"
]
},
{
"id": "network-interruption",
"fields": [
"faults.networkInterrupt"
],
"command": "npm --prefix web run test:network-interruption",
"exitCode": 0,
"durationMs": 5448,
"output": "> blender-web-editor@0.1.0 test:network-interruption\n> playwright test --config playwright.config.ts tests/e2e/network-interruption.spec.ts\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/network-interruption.spec.ts:6:1 keeps Main edit and save-reopen available during a Chromium network interruption (3.0s)\n\n 1 passed (4.6s)\n\n[WebServer] (node:2322506) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2322518) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"b1c03863f44026d44691042536ff1d1095617a35c8d767cc70372e5cbdc70db5",
"5d87a9ea57bd7a1888f16a5f4306e1c6d3a1bdfcf832c9485fe8518aac528fd8"
]
},
{
"id": "device-loss",
"fields": [
"faults.deviceLoss"
],
"command": "npm --prefix web run test:device-loss",
"exitCode": 0,
"durationMs": 4948,
"output": "> blender-web-editor@0.1.0 test:device-loss\n> playwright test --config playwright.config.ts tests/e2e/device-loss.spec.ts\n\n\nRunning 1 test using 1 worker\n\n ✓ 1 tests/e2e/device-loss.spec.ts:6:1 recovers the main-thread Chromium viewport after a real WebGL context loss (2.5s)\n\n 1 passed (4.1s)\n\n[WebServer] (node:2322781) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2322793) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"3878ce0f4d25cfef35eefe90070df56e06e2d597cd1bdf3655aed707450590e9",
"76d781c0f8508ee68fde09b1bb0d3f7db963e3e2be7d10d60708af2a6a582c24"
]
},
{
"id": "oom-recovery",
"fields": [
"faults.oom"
],
"command": "npm --prefix web run test:oom-recovery",
"exitCode": 0,
"durationMs": 4897,
"output": "> blender-web-editor@0.1.0 test:oom-recovery\n> playwright test --config playwright.config.ts tests/e2e/oom-recovery.spec.ts\n\n\nRunning 1 test using 1 worker\n\noom-recovery [{\"scenario\":\"WASM_MAIN\",\"errors\":[\"WASM_OUT_OF_MEMORY@WASM_OPEN_INPUT\",\"WASM_OUT_OF_MEMORY@MAIN_EDIT_COMMAND\",\"WASM_OUT_OF_MEMORY@WASM_SAVE_RESULT\"],\"revision\":[2,2],\"hashStable\":true,\"releasedBytes\":205638,\"temporaryResourcesAfter\":0,\"recovered\":true},{\"scenario\":\"OPFS_STAGING\",\"errors\":[\"STORAGE_QUOTA@OPFS_STAGING_WRITE\"],\"revision\":[7,7],\"hashStable\":true,\"releasedBytes\":47804,\"temporaryResourcesAfter\":0,\"recovered\":true},{\"scenario\":\"GPU_RESOURCES\",\"errors\":[\"GPU_TEXTURE_BUDGET_EXCEEDED@GPU_TEXTURE_UPLOAD\"],\"revision\":[0,0],\"hashStable\":true,\"releasedBytes\":36,\"temporaryResourcesAfter\":0,\"recovered\":true},{\"scenario\":\"NANOVDB_RESIDENT\",\"errors\":[\"NANOVDB_GPU_BUDGET_EXCEEDED@NANOVDB_PAGE_TABLE\"],\"revision\":[0,0],\"hashStable\":true,\"releasedBytes\":65536,\"temporaryResourcesAfter\":0,\"recovered\":true}]\n ✓ 1 tests/e2e/oom-recovery.spec.ts:7:1 recovers deterministically from WASM, OPFS, GPU and NanoVDB allocation faults (2.5s)\n\n 1 passed (4.0s)\n\n[WebServer] (node:2323065) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2323077) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n(node:2323123) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"d5fe9184c693eb5b5d3ede8797cb09859669f43d9a82b55b9591cabb2a2c4a56",
"50fa383e7c7b3cf7a87eb652671dd9c180e30c86b99a8b129726d8af2f76a5a0",
"e6cec43ffa61b97cadf0926cd6468257cd47a38b05a121c4ea4a252fe257e585",
"3d0b7d7b98d1c9ffeda1b4c4ea43c4ced400e36814d5a819f7d26df2bd25d873",
"aac12afe4c92684dc74d546701d3f9e56f305f5ceb83fc4699bf8a06e6abed1b",
"ce2a44329068e6e9aafbb37259e8a47c1d9e306e563cae8b957d0b2f6b2b61cb",
"5d87a9ea57bd7a1888f16a5f4306e1c6d3a1bdfcf832c9485fe8518aac528fd8"
]
},
{
"id": "texture-4k",
"fields": [
"performance.texture4K"
],
"command": "npm --prefix web run test:texture-4k-performance",
"exitCode": 0,
"durationMs": 4670,
"output": "> blender-web-editor@0.1.0 test:texture-4k-performance\n> playwright test --config playwright.config.ts tests/e2e/texture-4k-performance.spec.ts\n\n\nRunning 1 test using 1 worker\n\ntexture-4k-performance {\"width\":4096,\"height\":4096,\"status\":{\"loaded\":1,\"rejected\":0,\"bytes\":254670,\"errors\":[],\"errorCodes\":[]},\"byteLength\":254670,\"estimatedPeakGpuBytes\":67108864,\"released\":true,\"recoveryVisible\":true,\"colored\":4096,\"elapsedMs\":668}\n ✓ 1 tests/e2e/texture-4k-performance.spec.ts:3:1 decodes, uploads and renders a validated 4K texture in Chromium (2.3s)\n\n 1 passed (3.8s)\n\n[WebServer] (node:2323343) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2323355) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n(node:2323401) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"093588bcdf08f8b5a5aa8baceddbd7b499c43e5acda7f793b34ac54c79782490",
"75f2f33753a160f60acc56ad850bc149cef7fa2b54a42d5e75cf22402c9ac91d"
]
},
{
"id": "texture-8k",
"fields": [
"performance.texture8K"
],
"command": "npm --prefix web run test:texture-8k-performance",
"exitCode": 0,
"durationMs": 6818,
"output": "> blender-web-editor@0.1.0 test:texture-8k-performance\n> playwright test --config playwright.config.ts tests/e2e/texture-8k-performance.spec.ts\n\n\nRunning 1 test using 1 worker\n\ntexture-8k-performance {\"supported\":true,\"maxTextureSize\":8192,\"width\":8192,\"height\":8192,\"status\":{\"loaded\":1,\"rejected\":0,\"bytes\":972714,\"errors\":[],\"errorCodes\":[]},\"byteLength\":972714,\"estimatedPeakGpuBytes\":268435456,\"released\":true,\"recoveryVisible\":true,\"colored\":4096,\"elapsedMs\":2579}\n ✓ 1 tests/e2e/texture-8k-performance.spec.ts:3:1 decodes, uploads and renders a validated 8K texture in Chromium (4.4s)\n\n 1 passed (6.0s)\n\n[WebServer] (node:2323628) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2323640) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n(node:2323686) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n(Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"093588bcdf08f8b5a5aa8baceddbd7b499c43e5acda7f793b34ac54c79782490",
"75f2f33753a160f60acc56ad850bc149cef7fa2b54a42d5e75cf22402c9ac91d"
]
},
{
"id": "zip-bomb",
"fields": [
"faults.zipBomb"
],
"command": "WEB_TEST_PORT=5323 npm --prefix web run test:asset-library",
"exitCode": 0,
"durationMs": 4136,
"output": "> blender-web-editor@0.1.0 test:asset-library\n> playwright test --config playwright.config.ts -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)\n\n[WebServer] (node:2323896) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)\n[WebServer] (node:2323908) Warning: The 'NO_COLOR' env is ignored due to the 'FORCE_COLOR' env being set.\n[WebServer] (Use `node --trace-warnings ...` to show where the warning was created)",
"artifactSha256": [
"5c62539db3833a2113007dfbdfd12ca06704d86e0cf0e57ad97f7fbf6acda7f4"
]
},
{
"id": "release-package",
"fields": [],
"command": "npm --prefix web run test:release-package",
"exitCode": 0,
"durationMs": 5339,
"output": "> blender-web-editor@0.1.0 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 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-Cv6ZsBTp.js 973.17 kB │ gzip: 263.15 kB\n\n✓ built in 562ms\n\n> blender-web-editor@0.1.0 release:sbom\n> node ../tools/web/generate-sbom.mjs\n\nsbom-ok packages=150 sha256=aa50a5b98ebb51c98c6eced2ec32dff96b8df6d90e10cc101ce9e8eb44695060\nrelease-package-ok files=10 bytes=32096983\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.",
"artifactSha256": [
"aa50a5b98ebb51c98c6eced2ec32dff96b8df6d90e10cc101ce9e8eb44695060",
"5d87a9ea57bd7a1888f16a5f4306e1c6d3a1bdfcf832c9485fe8518aac528fd8"
]
},
{
"id": "offline-reproducibility",
"fields": [
"provenance.sourceOffer",
"provenance.deterministicPackage"
],
"command": "npm --prefix web run release:offline",
"exitCode": 0,
"durationMs": 36970,
"output": "> blender-web-editor@0.1.0 release:offline\n> npm run build && node ../tools/web/check-offline-reproducibility.mjs\n\n\n> blender-web-editor@0.1.0 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-Cv6ZsBTp.js 973.17 kB │ gzip: 263.15 kB\n\n✓ built in 581ms\nsbom-ok packages=150 sha256=aa50a5b98ebb51c98c6eced2ec32dff96b8df6d90e10cc101ce9e8eb44695060\noffline-release-ok binary=7585557 source=205827673 sha256=f2903a75026a0a28615aeb5f4834a3859af83022c82bc50e28437dcbed68e549\nsbom-ok packages=150 sha256=aa50a5b98ebb51c98c6eced2ec32dff96b8df6d90e10cc101ce9e8eb44695060\noffline-release-ok binary=7585557 source=205827673 sha256=f2903a75026a0a28615aeb5f4834a3859af83022c82bc50e28437dcbed68e549\noffline-reproducibility-ok binary=f2903a75026a0a28615aeb5f4834a3859af83022c82bc50e28437dcbed68e549 source=9a9c1b505c68a618de842be7c248f628b104b11b80e8a40d111f62540fcba327\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.",
"artifactSha256": [
"f2903a75026a0a28615aeb5f4834a3859af83022c82bc50e28437dcbed68e549",
"9a9c1b505c68a618de842be7c248f628b104b11b80e8a40d111f62540fcba327",
"288b0bb969e670b458059adf8897f87bafc76a87a479c8aa0a305905accf2de9"
]
}
]
}
}