docs(perf): close Slice B with full-bake evidence
This commit is contained in:
parent
90bf6bbf45
commit
49f3a48ee6
5 changed files with 196 additions and 20 deletions
76
docs/research/2026-07-24-slice-b-full-bake-report.json
Normal file
76
docs/research/2026-07-24-slice-b-full-bake-report.json
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"schemaVersion": 1,
|
||||
"capturedUtcDate": "2026-07-24",
|
||||
"binaryCommit": "90bf6bbf455654dd1cfe1749b19bfd36b769939c",
|
||||
"pakFormatVersion": 1,
|
||||
"bakeToolVersion": 2,
|
||||
"datIterations": {
|
||||
"portal": 2072,
|
||||
"cell": 982,
|
||||
"highRes": 497,
|
||||
"language": 994
|
||||
},
|
||||
"threads": 8,
|
||||
"enumerated": {
|
||||
"gfxObj": 15318,
|
||||
"setup": 5935,
|
||||
"envCell": 729888
|
||||
},
|
||||
"output": {
|
||||
"gfxObjKeys": 15318,
|
||||
"setupKeys": 5935,
|
||||
"envCellKeys": 729888,
|
||||
"uniqueEnvCellGeometries": 17117,
|
||||
"envCellAliases": 712771,
|
||||
"envCellDedupRatio": 42.64,
|
||||
"sideStagedNewKeys": 0,
|
||||
"sideStagedDuplicateKeys": 13284,
|
||||
"physicalBlobs": 38370,
|
||||
"totalKeys": 751141,
|
||||
"failures": 0,
|
||||
"bytes": 29561864760,
|
||||
"mibibytes": 28192.4
|
||||
},
|
||||
"timing": {
|
||||
"extractAndWriteSeconds": 81.2,
|
||||
"validatedAndPublishedSeconds": 81.4
|
||||
},
|
||||
"memory": {
|
||||
"peakWorkingSetMibibytes": 5073.7,
|
||||
"peakPrivateMibibytes": 4507.3,
|
||||
"note": "Offline bake-process peak while constructing and serializing 28.2 GiB of immutable payloads; this is not client runtime residency."
|
||||
},
|
||||
"validation": {
|
||||
"headerAndDatIterations": "pass",
|
||||
"tocCountOrderAndEveryRange": "pass",
|
||||
"atomicOverwrite": "pass",
|
||||
"temporaryFilesRemaining": 0,
|
||||
"crossLandblockAliasSample": {
|
||||
"sharedOffset": 16170873792,
|
||||
"aliasCountAtReceipt": 25,
|
||||
"sampleFileIds": [
|
||||
"0x00A90230",
|
||||
"0x00B901A8",
|
||||
"0x00E50602",
|
||||
"0x00E50610",
|
||||
"0x00E5061F",
|
||||
"0x00F90784",
|
||||
"0x00F9078E",
|
||||
"0x00FA073E"
|
||||
]
|
||||
},
|
||||
"filteredThreadCountDeterminism": {
|
||||
"threads": [1, 8],
|
||||
"envCellKeys": 8,
|
||||
"physicalBlobs": 1,
|
||||
"sha256": "C8187761ED30CE9412C9081F52067159AECA5B02EB316E73DA29DC88D4339642"
|
||||
},
|
||||
"releaseBuild": "pass-with-17-pre-existing-test-warnings",
|
||||
"completeReleaseSuite": {
|
||||
"passed": 8059,
|
||||
"skipped": 5,
|
||||
"failed": 0
|
||||
}
|
||||
},
|
||||
"artifactPolicy": "The generated pak is an untracked machine artifact and is deleted after final verification. This compact path-free report is the committed evidence."
|
||||
}
|
||||
76
docs/research/2026-07-24-slice-b-full-bake-report.md
Normal file
76
docs/research/2026-07-24-slice-b-full-bake-report.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# Slice B full-bake report
|
||||
|
||||
**Date:** 2026-07-24
|
||||
**Measured binary:** `90bf6bbf455654dd1cfe1749b19bfd36b769939c`
|
||||
**Result:** pass, zero extraction failures
|
||||
|
||||
Slice B replaces the failed 865 GB per-cell bake with a deterministic,
|
||||
content-identity package. The client does not consume this package yet; this is
|
||||
the offline prepared-content foundation for Slice C.
|
||||
|
||||
## Full installed-DAT result
|
||||
|
||||
| Measure | Result |
|
||||
|---|---:|
|
||||
| GfxObj keys | 15,318 |
|
||||
| Setup keys | 5,935 |
|
||||
| EnvCell keys | 729,888 |
|
||||
| Unique EnvCell geometries | 17,117 |
|
||||
| EnvCell aliases | 712,771 |
|
||||
| EnvCell deduplication | 42.6× |
|
||||
| Physical blobs | 38,370 |
|
||||
| Total TOC keys | 751,141 |
|
||||
| Failures | 0 |
|
||||
| Extract + write | 81.2 seconds |
|
||||
| Validate + atomic publish total | 81.4 seconds |
|
||||
| Artifact size | 29,561,864,760 bytes (28,192.4 MiB) |
|
||||
| Peak working set | 5,073.7 MiB |
|
||||
| Peak private bytes | 4,507.3 MiB |
|
||||
|
||||
The memory figures belong to the short-lived offline bake process while it
|
||||
constructs and serializes 28.2 GiB of immutable payloads. They are not expected
|
||||
client residency: the later runtime source memory-maps the package and
|
||||
deserializes only demanded assets. Sixteen-result extraction batches and
|
||||
immediate rejection of already-written side-staged meshes keep live bake graphs
|
||||
bounded; 13,284 redundant particle-preload results were discarded without
|
||||
retention.
|
||||
|
||||
The header carries format version 1, bake-tool version 2, and source DAT
|
||||
iterations portal 2072, cell 982, high-res 497, language 994. Validation opened
|
||||
the completed temporary package, checked those values, strict TOC ordering,
|
||||
all 751,141 physical ranges, and then published with a same-volume atomic
|
||||
overwrite move. No temporary artifact remained.
|
||||
|
||||
## Identity correction discovered by the gate
|
||||
|
||||
The first guarded full catalog stopped on a real collision in WorldBuilder’s
|
||||
31× polynomial:
|
||||
|
||||
- Cell `0x00030175`: environment `0x277`, structure 0, surfaces
|
||||
`0x013B, 0x0034`.
|
||||
- Cell `0x01BC0105`: environment `0x276`, structure 0, surfaces
|
||||
`0x04FC, 0x0034`.
|
||||
- Both legacy identities: `0x00000002020E8C13`.
|
||||
|
||||
Those cells have different vertices and polygons. Silently aliasing them would
|
||||
render the wrong room. Runtime and bake now share a namespaced FNV-1a identity
|
||||
over the complete typed tuple, while the catalog still compares full tuples and
|
||||
fails loudly on any future collision. The legacy calculation remains as a
|
||||
conformance test proving this exact installed-DAT case.
|
||||
|
||||
## Alias and determinism gates
|
||||
|
||||
A sampled physical receipt at offset `16170873792` is shared by 25 EnvCell keys
|
||||
across multiple landblocks. Eight of those keys were baked independently with
|
||||
one and eight workers. Each output contained eight keys backed by one physical
|
||||
blob, and both files were byte-identical:
|
||||
|
||||
`C8187761ED30CE9412C9081F52067159AECA5B02EB316E73DA29DC88D4339642`
|
||||
|
||||
The generated full pak remains an untracked machine artifact and is deleted
|
||||
after final verification. The machine-readable, path-free evidence is
|
||||
[`2026-07-24-slice-b-full-bake-report.json`](2026-07-24-slice-b-full-bake-report.json).
|
||||
|
||||
Release build passed with 17 pre-existing test-source warnings. The complete
|
||||
Release suite passed 8,059 tests with five skips and zero failures. The generated
|
||||
full and filtered pak artifacts were then deleted as required.
|
||||
Loading…
Add table
Add a link
Reference in a new issue