Complete V1 performance and OOM release gates

This commit is contained in:
mes123456
2026-08-14 22:32:09 -04:00
parent 3ea9974eee
commit a3f3071c03
45 changed files with 4206 additions and 276 deletions

View File

@@ -1,13 +1,27 @@
{
"schemaVersion": 3,
"schemaVersion": 4,
"source": "docs/status/parity-ledger.json",
"sourceSha256": "fbd0b368e00d2dbeb7d63e248ae2cdb6228a20520b44a14722a21aa0693a6395",
"generatedAt": "2026-08-14T14:56:43.298Z",
"sourceSha256": "1e16518a25c6b6bed4ab7f605ea1ad5babe529f2842c858b20ae6daae30bd478",
"generatedAt": "2026-08-15T02:29:05.407Z",
"families": [
{
"id": "N-015",
"name": "Non-mesh geometry",
"status": "BLOCKED",
"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",
@@ -56,6 +70,8 @@
"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",
@@ -70,7 +86,7 @@
],
"blockedSlices": [
"C2-new-external-font-import",
"D2-nanovdb-production-viewport-paging-advanced-material",
"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"
@@ -101,7 +117,17 @@
{
"id": "N-016",
"name": "Grease Pencil",
"status": "BLOCKED",
"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",
@@ -135,7 +161,19 @@
{
"id": "N-017",
"name": "Paint and weights",
"status": "BLOCKED",
"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",
@@ -167,7 +205,18 @@
{
"id": "N-018",
"name": "Physics and simulation",
"status": "BLOCKED",
"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",
@@ -199,7 +248,22 @@
{
"id": "N-019",
"name": "Lighting and render",
"status": "BLOCKED",
"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",
@@ -232,7 +296,20 @@
{
"id": "N-020",
"name": "Compositor",
"status": "BLOCKED",
"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",
@@ -262,7 +339,20 @@
{
"id": "N-021",
"name": "Sequencer and audio",
"status": "BLOCKED",
"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",
@@ -292,7 +382,20 @@
{
"id": "N-022",
"name": "Tracking and masks",
"status": "BLOCKED",
"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",
@@ -322,7 +425,22 @@
{
"id": "N-023",
"name": "Assets, libraries and IO",
"status": "BLOCKED",
"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",
@@ -337,7 +455,8 @@
"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-opfs-tamper-rollback-quota-recovery",
"E-nanovdb-gpu-resident-page-lru"
],
"blockedSlices": [
"A",
@@ -345,7 +464,7 @@
"C",
"D",
"E",
"E-nanovdb-gpu-resident-page-cache-large-bundle"
"E-nanovdb-large-bundle-performance"
],
"acceptance": [
"web:test:library-main-reader",
@@ -359,7 +478,20 @@
{
"id": "N-024",
"name": "Editors and workflow",
"status": "BLOCKED",
"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",
@@ -389,7 +521,21 @@
{
"id": "N-025",
"name": "Scripting and platform",
"status": "BLOCKED",
"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",
@@ -420,7 +566,20 @@
{
"id": "N-026",
"name": "Release gate",
"status": "BLOCKED",
"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",
@@ -429,6 +588,7 @@
"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",
@@ -454,6 +614,7 @@
],
"acceptance": [
"web:e2e:N-026 release",
"web:test:v1-user-loop",
"web:test:release-evidence",
"web:test:browser",
"web:test:release-package",
@@ -487,14 +648,14 @@
},
"performance": {
"geometry1M": true,
"geometry10M": false,
"geometry10M": true,
"texture4K": true,
"texture8K": true,
"longMedia": false,
"longMedia": true,
"simulationCache": true
},
"faults": {
"oom": false,
"oom": true,
"deviceLoss": true,
"networkInterrupt": true,
"malformedBlend": true,
@@ -691,6 +852,70 @@
"ca97bef8cbe7943586e7af1df631775ce6ea041677c8bbb98da2fcc73baa9e1a",
"39c7f9be555f2727519a733237de22e66a33d33ac1b0aecfacd2ae695de10b28"
]
},
{
"id": "v1-user-loop",
"fields": [],
"command": "npm --prefix web run test:v1-user-loop",
"exitCode": 0,
"durationMs": 5240,
"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.9s)\n\n 1 passed (4.4s)\n\n[WebServer] (node:2124514) 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:2124526) 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"
]
},
{
"id": "geometry-10m",
"fields": [
"performance.geometry10M"
],
"command": "npm --prefix web run test:geometry-10m-performance",
"exitCode": 0,
"durationMs": 5954,
"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\":1220,\"chunksAtFirstInteractive\":20,\"estimatedGpuBytes\":1124880,\"wasmAllocatedBytes\":0,\"cancelLatencyMs\":62,\"elapsedMs\":1886}\n ✓ 1 tests/e2e/geometry-10m-performance.spec.ts:3:1 streams ten-million-triangle SceneIR ranges into a bounded interactive LOD (3.4s)\n\n 1 passed (5.0s)\n\n[WebServer] (node:2142662) 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:2142686) 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:2142761) 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",
"101ba99e9f75617acb7105845c49f500f6f65a5b4ce5be20c4d8c1e0a9d458e2"
]
},
{
"id": "long-media",
"fields": [
"performance.longMedia"
],
"command": "npm --prefix web run test:long-media-performance",
"exitCode": 0,
"durationMs": 5319,
"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\":227,\"coldSeekMs\":1,\"hotSeekMs\":0,\"randomSeekMs\":14,\"cacheBytes\":16305,\"evictions\":71,\"manifestSha256\":\"d2e7e3c5ed9ae4fda6fe358cebb474f5774f1d2037dff3df9b6dfde9e0bebd2d\",\"elapsedMs\":1010}\n ✓ 1 tests/e2e/long-media-performance.spec.ts:8:1 indexes, seeks, cancels and reopens a bounded one-million-frame media timeline (2.6s)\n\n 1 passed (4.4s)\n\n[WebServer] (node:2156644) 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:2156658) 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:2156737) 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",
"a3088cadf92c99377856e403d0c844231e9d96e0479016befbb1b7606d35bf62",
"9b48e65b35a7f5fd6b86568d20255a0446882c3f3281f753af625b9c2fa4995c",
"295b083db2299ab904947eb39c17173de70c211882b0d855537d8f3cc27698ed",
"56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9"
]
},
{
"id": "oom-recovery",
"fields": [
"faults.oom"
],
"command": "npm --prefix web run test:oom-recovery",
"exitCode": 0,
"durationMs": 4874,
"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.1s)\n\n[WebServer] (node:2169927) 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:2169939) 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:2169985) 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"
]
}
]
}