texture-streaming-acceptance.json
docs/evidence/texture-streaming-acceptance.json
1{
2 "date": "2026-10-25",
3 "baseCommit": "adb9b8ca6600abf786c4de80a56e545ae1598558",
4 "scope": "Profile 3 independent image transport, original artifact hydration and validation, shared texture ownership, priority/cancellation/cooling and preload accounting. Full mip chains remain required before destination activation.",
5 "environment": {
6 "node": "22.23.4",
7 "browser": "Playwright 1.56.1 / Chromium 141 / SwiftShader Vulkan WebGPU",
8 "temporaryDirectories": "Isolated short .data/tx-* paths; interactive editor and beta preserved"
9 },
10 "checks": {
11 "focused": {
12 "passed": 38,
13 "report": "texture-streaming-focused.tap"
14 },
15 "headless": {
16 "tests": 849,
17 "passed": 789,
18 "skipped": 60,
19 "failed": 0,
20 "report": "texture-streaming-headless.tap"
21 },
22 "build": {
23 "passed": true,
24 "packageFiles": 155,
25 "engine": "e1646988bf95bec4048e8e744774e6fc4ff200dd745372fa8e72699ecc5e14d0",
26 "report": "texture-streaming-build.log"
27 },
28 "finalTypecheck": {
29 "passed": true,
30 "report": "texture-streaming-check.log"
31 },
32 "browser": {
33 "passed": 5,
34 "reports": {
35 "browser": {
36 "report": "texture-streaming-browser.json",
37 "startTime": "2026-10-25T23:08:27.408Z",
38 "duration": 54142.487,
39 "expected": 1,
40 "skipped": 0,
41 "unexpected": 0,
42 "flaky": 0
43 },
44 "player": {
45 "report": "texture-streaming-player.json",
46 "startTime": "2026-10-25T23:11:05.020Z",
47 "duration": 105584.586,
48 "expected": 2,
49 "skipped": 0,
50 "unexpected": 0,
51 "flaky": 0
52 },
53 "revisions": {
54 "report": "texture-streaming-revisions.json",
55 "startTime": "2026-10-25T23:12:57.758Z",
56 "duration": 25634.531,
57 "expected": 1,
58 "skipped": 0,
59 "unexpected": 0,
60 "flaky": 0
61 },
62 "portals": {
63 "report": "texture-streaming-portals.json",
64 "startTime": "2026-10-25T23:13:28.596Z",
65 "duration": 131859.747,
66 "expected": 1,
67 "skipped": 0,
68 "unexpected": 0,
69 "flaky": 0
70 }
71 }
72 }
73 },
74 "verified": [
75 "The builder separates images from textured model units, deduplicates across distinct models and preserves original model, texture, content and compiled identities.",
76 "Hydration checks exact transferred bytes, image artifact identity, derived mips, manifest dependency closure and the complete original model semantics/checksum before exposure.",
77 "Actual profile 1/2 archives with embedded images remain readable. Profile 2 and profile 3 streamed native checkpoints match the full-source runtime; profile 3 travel and reconstruction preserve parity.",
78 "Shared image requests survive sibling cancellation. Native requests stay bounded at two; last-consumer cancellation/owner closure fences late images and retains reservations until native settlement.",
79 "Image units have independent leases and cooling accounting; last model release clears its hydrated copy. Preload preflight includes unique image payload bytes.",
80 "Two actual players use worker/main WebGPU, share an image across distinct current/destination models, remain in the grounded source while a destination image is held/corrupt, retry and travel without another image request, and recover graphics without downloads.",
81 "Textured published players preserve shared identity through failed travel, native graphics and simulation recovery, and return. Admission mismatch rejects before model downloads.",
82 "Textured shared Apply rejects corrupt proposed models, waits for held downloads and restores older saves before migrating. The full portal editor/publication/recovery journey passes."
83 ],
84 "measurements": {
85 "report": "texture-streaming-measured.json",
86 "fixtureReservedBytes": 7990,
87 "threeDecodedTextureUnitsEncodedBytes": 2278,
88 "sharedImageRequestsPerPlayerBeforeWorkerRestart": 1,
89 "additionalContentRequestsDuringGraphicsRecovery": 0,
90 "qualification": "Tiny fixture encoded transfer/ownership observations, not production latency, bandwidth, JavaScript heap or hardware performance qualification."
91 },
92 "interruptionsAndCorrections": [
93 "The initial successful texture captures had off-center panels and a transient recovery toast. Fixture panels were repositioned, the first traveler moved aside, and captures wait for toast dismissal. The scenario passed again; runtime art and recovery behavior were unchanged.",
94 "The multi-spec orchestration exited with status 143 during published-player testing without a terminal test result. Inspection found no Playwright runner/browser but a surviving isolated test server, which was stopped by its exact PID. The unfinished published, revision and portal checks then passed in individual runs with live child-process reporting. Cause of orchestration interruption is unconfirmed; interrupted log retained."
95 ],
96 "visualInspection": [
97 "texture-streaming-held.png",
98 "texture-streaming-worker.png",
99 "texture-streaming-main.png"
100 ],
101 "limits": [
102 "Full mip chains are separate texture units; progressive mip delivery, compressed texture variants and decoration LOD are not implemented by this increment.",
103 "All structural place definitions remain resident. Destination collision, graphics and shared membership gates remain required before activation.",
104 "Encoded reservations do not measure heap/GPU allocation. Strict hydration copies image artifacts into distinct models; callers retaining released results own that additional memory.",
105 "The 60 skipped headless cases, physical-device qualification, production performance, Docker/Coolify qualification and sustained fault testing are not claimed as completed here.",
106 "Final character/arrival art and all unfinished milestones 0\u201318 remain open."
107 ],
108 "sourceSha256": {
109 "apps/player/main.ts": "bedf167dd4a8328688cc3df51349ccb7468456841fb2dd0f90c803a9843d1ea9",
110 "packages/simulation/content.ts": "f9c1377d791f5b105082315d9c80698a71ef1c4c5714a72bd1fee09e2b33ec11",
111 "packages/world/content-build.ts": "8023c27f80d09bd967209541c216dafd6fa52b85d234829c57ff96bcc3c17787",
112 "packages/world/content-client.ts": "92377cd91ab9f5715c608b9fbceee2a5bb6fb90ccc6ebfaaee4532a304df21de",
113 "packages/world/content.ts": "b817595c2da64e2a6ad85a74bbab89c95f7281eaa96b25cb6652fdda02b6e754",
114 "packages/world/preload.ts": "4754cd118a27fdaf13e73371246bf7c55913fb353e660cad4cf1c7a1ee96b260",
115 "packages/world/streaming.ts": "4d44237c6f02ded246a51e9a99b85754429f80341aa5ecc7f26a8e2781bca403",
116 "tests/browser/player-streaming.spec.ts": "9a17f312a8ae78b25ff20405ce644966c81a56fd377a6bcabff83aa19c085a95",
117 "tests/browser/streamed-development.spec.ts": "c6e5e7f5603ab3da2b341ad0b4c4de4f40d63023ce18f8185f179ac0daddb0df",
118 "tests/browser/texture-streaming.spec.ts": "dc158bc419ef000bee19c824396edef74531acedd2c4e36c6458559a0e999346",
119 "tests/content-textures.test.ts": "1b2f122c28cf7de344822877cb6079aa171859fe13b94535b89f4970db6152bb",
120 "tests/fixtures/texture-travel.ts": "d4a6675fcc8f763ef543d3c51d3390fe3a3b663f1471712aacc05f8e3a40349c",
121 "tests/streamed-simulation.test.ts": "892d906a0787f04b0f468e80c0dd799e5a50a22ad3f6fd29fb28bd43e61fc563"
122 },
123 "approximateFullPlanPercent": 79,
124 "numberedMilestonesClosed": []
125}
126