@plasius/gpu-demo-viewer 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,22 @@ The format is based on Keep a Changelog and this project adheres to SemVer.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ - **Added**
10
+ - (placeholder)
11
+
12
+ - **Changed**
13
+ - (placeholder)
14
+
15
+ - **Fixed**
16
+ - (placeholder)
17
+
18
+ - **Security**
19
+ - (placeholder)
20
+
21
+ ## [0.1.9] - 2026-10-18
22
+
23
+ - Add nine original natural-object and textile models with fixed64/UHD inspection evidence, pinned Khronos resources and explicit default-material limits.
24
+
9
25
  - **Added**
10
26
  - (placeholder)
11
27
 
@@ -227,3 +243,4 @@ The format is based on Keep a Changelog and this project adheres to SemVer.
227
243
  [0.1.6]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.6
228
244
  [0.1.7]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.7
229
245
  [0.1.8]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.8
246
+ [0.1.9]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.9
package/README.md CHANGED
@@ -201,3 +201,8 @@ assets are not included in the npm package. Site build-time use retains stricter
201
201
  resource limits and verifies the complete source dependency closure.
202
202
 
203
203
  The review now consumes published renderer 0.2.51 and shared 1.1.8: camera movement reuses unchanged scene geometry, and repeated source primitives share their authored materials during import.
204
+
205
+ Batch three adds nine locally inspected natural objects and textile studies,
206
+ including the original Khronos sheen chair and cloth. All 31 acquired models
207
+ retain their source hashes and credits. Local qualification does not mark the
208
+ new batch live; the sheen chair currently supports only its default material.
@@ -0,0 +1,234 @@
1
+ {
2
+ "date": "2026-10-18",
3
+ "renderer": "0.2.51",
4
+ "shared": "1.1.8",
5
+ "sourceOverrides": false,
6
+ "mode": "fixed-progressive",
7
+ "productionVerified": false,
8
+ "consoleErrors": 0,
9
+ "limitations": [
10
+ "Static geometry only; adaptive transport and animation are not qualified.",
11
+ "Sheen Chair uses its authored default material; variants are not selectable.",
12
+ "The source Rubber Boots set contains four boot meshes.",
13
+ "Physical touch hardware and screen-reader speech were not tested.",
14
+ "Completed images support source inspection, not full physical-fidelity approval."
15
+ ],
16
+ "models": [
17
+ {
18
+ "key": "food_pomegranate_01",
19
+ "triangles": 8142,
20
+ "primitives": 1,
21
+ "materials": 1,
22
+ "completedFixedSamples": 64,
23
+ "denoisingOffOn": true,
24
+ "cameraResetAndRefinement": true,
25
+ "completedUhd": {
26
+ "width": 3840,
27
+ "height": 2160,
28
+ "samples": 1
29
+ },
30
+ "evidence": [
31
+ {
32
+ "file": "Food-Pomegranate-01.png",
33
+ "sha256": "b884838f06ae474122623228954630e1ce56ab5540dbb98bdb013be9ef5d70ac"
34
+ },
35
+ {
36
+ "file": "Food-Pomegranate-01-UHD.png",
37
+ "sha256": "c6bf16fae502a0da2a030d5e0cef4c4375af62bbedde069ff039823bd534a3a4"
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ "key": "lambis_shell",
43
+ "triangles": 12498,
44
+ "primitives": 1,
45
+ "materials": 1,
46
+ "completedFixedSamples": 64,
47
+ "denoisingOffOn": true,
48
+ "cameraResetAndRefinement": true,
49
+ "completedUhd": {
50
+ "width": 3840,
51
+ "height": 2160,
52
+ "samples": 1
53
+ },
54
+ "evidence": [
55
+ {
56
+ "file": "Lambis-Shell.png",
57
+ "sha256": "33b954c771bb4aaaf8bb9ad78f736546cfd7344885370535e989aaad1e872585"
58
+ },
59
+ {
60
+ "file": "Lambis-Shell-UHD.png",
61
+ "sha256": "b8f04147705a144a85688eb74a0dbee878bf4401275cfde11fb8eaa02ca901f5"
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ "key": "rock_face_01",
67
+ "triangles": 20174,
68
+ "primitives": 1,
69
+ "materials": 1,
70
+ "completedFixedSamples": 64,
71
+ "denoisingOffOn": true,
72
+ "cameraResetAndRefinement": true,
73
+ "completedUhd": {
74
+ "width": 3840,
75
+ "height": 2160,
76
+ "samples": 1
77
+ },
78
+ "evidence": [
79
+ {
80
+ "file": "Rock-Face-01.png",
81
+ "sha256": "33c7d7b6230b455e70cddab45344052ee125d47196c58943c0607a17e0fc8de8"
82
+ },
83
+ {
84
+ "file": "Rock-Face-01-UHD.png",
85
+ "sha256": "b369e857112218f79542bfe2039e677d4c45ac34fb9d912ee58c10aee80a7708"
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ "key": "tree_stump_01",
91
+ "triangles": 41046,
92
+ "primitives": 1,
93
+ "materials": 1,
94
+ "completedFixedSamples": 64,
95
+ "denoisingOffOn": true,
96
+ "cameraResetAndRefinement": true,
97
+ "completedUhd": {
98
+ "width": 3840,
99
+ "height": 2160,
100
+ "samples": 1
101
+ },
102
+ "evidence": [
103
+ {
104
+ "file": "Tree-Stump-01.png",
105
+ "sha256": "01b6cce2016364555fcc8fce3af3554b2380458f44efe91082df13e61ce83293"
106
+ },
107
+ {
108
+ "file": "Tree-Stump-01-UHD.png",
109
+ "sha256": "e649c3490bdac8096fde3b8aa50dd31ab92942eb40350ada9b64a4f0d0d24a4d"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "key": "ArmChair_01",
115
+ "triangles": 5626,
116
+ "primitives": 1,
117
+ "materials": 1,
118
+ "completedFixedSamples": 64,
119
+ "denoisingOffOn": true,
120
+ "cameraResetAndRefinement": true,
121
+ "completedUhd": {
122
+ "width": 3840,
123
+ "height": 2160,
124
+ "samples": 1
125
+ },
126
+ "evidence": [
127
+ {
128
+ "file": "Arm-Chair-01.png",
129
+ "sha256": "2880f3e3554562b46eefff8e00bc468ec502481c584fc13c4ddeb4b0127e6581"
130
+ },
131
+ {
132
+ "file": "Arm-Chair-01-UHD.png",
133
+ "sha256": "7529879e264de2b7f25bd5ea8e2df39ac5b3183bda21406578a6beb015990d00"
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "key": "fishermans_hat",
139
+ "triangles": 10304,
140
+ "primitives": 1,
141
+ "materials": 1,
142
+ "completedFixedSamples": 64,
143
+ "denoisingOffOn": true,
144
+ "cameraResetAndRefinement": true,
145
+ "completedUhd": {
146
+ "width": 3840,
147
+ "height": 2160,
148
+ "samples": 1
149
+ },
150
+ "evidence": [
151
+ {
152
+ "file": "Fishermans-Hat.png",
153
+ "sha256": "8059b74c6dfc1074540dea7fb009f0c0634646cd5ed60b63ede9e9f524d8f01e"
154
+ },
155
+ {
156
+ "file": "Fishermans-Hat-UHD.png",
157
+ "sha256": "8d8dffb568abdcda33f922bb875536bcd9c7116c5c7bb5a05730a7d1edec9a7d"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "key": "rubber_boots",
163
+ "triangles": 56128,
164
+ "primitives": 4,
165
+ "materials": 2,
166
+ "completedFixedSamples": 64,
167
+ "denoisingOffOn": true,
168
+ "cameraResetAndRefinement": true,
169
+ "completedUhd": {
170
+ "width": 3840,
171
+ "height": 2160,
172
+ "samples": 1
173
+ },
174
+ "evidence": [
175
+ {
176
+ "file": "Rubber-Boots.png",
177
+ "sha256": "4630658b9360eb26ef582db9ab7f7b727a5191e36dcda20b0b37d7123eab8b23"
178
+ },
179
+ {
180
+ "file": "Rubber-Boots-UHD.png",
181
+ "sha256": "9a1cb02dcee8b517a94d282af2dedc1f318b6a269b8949f7a1dca8cacc2f590c"
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "key": "SheenChair",
187
+ "triangles": 39936,
188
+ "primitives": 4,
189
+ "materials": 6,
190
+ "completedFixedSamples": 64,
191
+ "denoisingOffOn": true,
192
+ "cameraResetAndRefinement": true,
193
+ "completedUhd": {
194
+ "width": 3840,
195
+ "height": 2160,
196
+ "samples": 1
197
+ },
198
+ "evidence": [
199
+ {
200
+ "file": "Sheen-Chair.png",
201
+ "sha256": "a77903d6ead6cbcc9a03f9974ae7fe6d879c24c091bb7d384f7698b3fe3e8bb2"
202
+ },
203
+ {
204
+ "file": "Sheen-Chair-UHD.png",
205
+ "sha256": "1252911713a6a0fbb46238c06cc5845eaece04ac4cd0ff27d215a4db73875c36"
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "key": "SheenCloth",
211
+ "triangles": 115200,
212
+ "primitives": 1,
213
+ "materials": 1,
214
+ "completedFixedSamples": 64,
215
+ "denoisingOffOn": true,
216
+ "cameraResetAndRefinement": true,
217
+ "completedUhd": {
218
+ "width": 3840,
219
+ "height": 2160,
220
+ "samples": 1
221
+ },
222
+ "evidence": [
223
+ {
224
+ "file": "Sheen-Cloth.png",
225
+ "sha256": "c6b485a30af21fcafa949bc1e5d0dc7ee9f8304e6613a86617bcdd953185d247"
226
+ },
227
+ {
228
+ "file": "Sheen-Cloth-UHD.png",
229
+ "sha256": "4d41f377201f9fe4c4db329391981d1ac4c61efc3ec350c072f9dcacbe1ae7a2"
230
+ }
231
+ ]
232
+ }
233
+ ]
234
+ }
@@ -5,7 +5,7 @@ Feature: site#1170. First-batch Story: site#2303; production Task: site#2305.
5
5
 
6
6
  The research catalogue contains 75 distinct source assets/sets. Gem is explicitly
7
7
  excluded by the user, leaving 74 production candidates: eleven retained from
8
- the original twelve and 63 further models. Twenty-two have been acquired and ten
8
+ the original twelve and 63 further models. Thirty-one have been acquired and ten
9
9
  are currently selectable in production.
10
10
  The 52 deployed files are geometry/texture resources, not 52 models.
11
11
 
@@ -113,3 +113,20 @@ Four LOD0 tree sources exceed the unchanged 500,000-triangle limit: Fir Tree 01
113
113
  (6,982,937), Island Tree 01 (1,599,403), Jacaranda Tree (3,863,832) and Pine Tree 01
114
114
  (17,182,252). These need deliberate LOD preparation before admission; increasing
115
115
  the runtime budget or silently replacing their sources is not a qualification.
116
+
117
+ ## Batch 3 acquisition
118
+
119
+ Nine original sources are acquired: pomegranate, shell, rock face, tree stump,
120
+ armchair, hat, boots, Sheen Chair and Sheen Cloth. Poly Haven resources retain
121
+ the provider MD5/length and local SHA-256 inventories. Khronos sources are pinned
122
+ to commit edc7c9e67c639d230715049ee31f9a96a6babbbe and checked against Git blob
123
+ identities before SHA-256 inventory. Both sheen examples are CC0 in their primary
124
+ source notices. Sheen Chair exposes its authored default material only; material
125
+ variant selection is not claimed. This acquisition record does not admit any
126
+ of these nine sources to production before visual qualification and site CI/CD.
127
+
128
+ All nine batch-three models completed fixed64, camera reset/refinement, denoising
129
+ off/on and native UHD1 using released packages, with no observed console errors.
130
+ See [batch three evidence](batch-three-qualification.json). Four boot meshes are
131
+ part of the source set; Sheen Chair retains its default authored material.
132
+ Production verification remains pending.
@@ -2053,6 +2053,829 @@
2053
2053
  "OPAQUE"
2054
2054
  ]
2055
2055
  }
2056
+ },
2057
+ {
2058
+ "key": "food_pomegranate_01",
2059
+ "category": "Terrain and natural objects",
2060
+ "renderer_target": "Organic colour variation and surface roughness",
2061
+ "preparation": "Keep the material physically plausible without adding a uniform clearcoat.",
2062
+ "priority": "Later study",
2063
+ "checked": "2026-10-18",
2064
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2065
+ "name": "Food Pomegranate 01",
2066
+ "provider": "Poly Haven",
2067
+ "source_url": "https://polyhaven.com/a/food_pomegranate_01",
2068
+ "authors": "Oliver Harries (All)",
2069
+ "licence": "CC0-1.0",
2070
+ "licence_url": "https://polyhaven.com/license",
2071
+ "licence_status": "Source licence verified",
2072
+ "formats": "glTF, Blender, FBX, USD",
2073
+ "geometry_count": 8142,
2074
+ "geometry_unit": "Source-reported polygons (not a verified triangle count)",
2075
+ "package_mib": 0.58,
2076
+ "package_basis": "1K glTF + all manifest dependencies; not GPU memory",
2077
+ "format_evidence_url": "https://api.polyhaven.com/files/food_pomegranate_01",
2078
+ "download_entry_url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/food_pomegranate_01/food_pomegranate_01_1k.gltf",
2079
+ "extensions": "",
2080
+ "source_metadata_url": "https://api.polyhaven.com/info/food_pomegranate_01",
2081
+ "lods_advertised": false,
2082
+ "authoring_style": "Realistic / PBR candidate",
2083
+ "cost": "Free",
2084
+ "attribution_required": false,
2085
+ "number": 23,
2086
+ "entry": "food_pomegranate_01_1k.gltf",
2087
+ "files": [
2088
+ {
2089
+ "path": "food_pomegranate_01_1k.gltf",
2090
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/food_pomegranate_01/food_pomegranate_01_1k.gltf",
2091
+ "bytes": 2761,
2092
+ "sha256": "75e8bac9feda588189245fe8d145313fe382ee11766101d4b97f1c63476d6698",
2093
+ "integrity": "sha256-dei6yf7aWIGJJF/o0UUxP+OC7hF2YQHUuX8cY0dtZpg="
2094
+ },
2095
+ {
2096
+ "path": "textures/food_pomegranate_01_rough_1k.jpg",
2097
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/food_pomegranate_01/food_pomegranate_01_rough_1k.jpg",
2098
+ "bytes": 154956,
2099
+ "sha256": "9d7de886f101623d0d5beec5067734eed455a760445d27fbc7cdf4c7a9704898",
2100
+ "integrity": "sha256-nX3ohvEBYj0NW+7FBnc07tRVp2BEXSf7x830x6lwSJg="
2101
+ },
2102
+ {
2103
+ "path": "textures/food_pomegranate_01_diff_1k.jpg",
2104
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/food_pomegranate_01/food_pomegranate_01_diff_1k.jpg",
2105
+ "bytes": 164205,
2106
+ "sha256": "b5223d9988b083d850404faf995a23c607ecbcc6ddefed341f67d20fc4a495aa",
2107
+ "integrity": "sha256-tSI9mYiwg9hQQE+vmVojxgfsvMbd7+00H2fSD8Sklao="
2108
+ },
2109
+ {
2110
+ "path": "food_pomegranate_01.bin",
2111
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/food_pomegranate_01/food_pomegranate_01.bin",
2112
+ "bytes": 195828,
2113
+ "sha256": "29df7ac780b968c82958f881dba50837811c6d0b428db5099ba3f418969a1951",
2114
+ "integrity": "sha256-Kd96x4C5aMgpWPiB26UIN4EcbQtCjbUJm6P0GJaaGVE="
2115
+ },
2116
+ {
2117
+ "path": "textures/food_pomegranate_01_nor_gl_1k.jpg",
2118
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/food_pomegranate_01/food_pomegranate_01_nor_gl_1k.jpg",
2119
+ "bytes": 93096,
2120
+ "sha256": "1e040ab1af8c27f390eaf70d0dbef973554df31ecac6395375f1aed9d2d64df9",
2121
+ "integrity": "sha256-HgQKsa+MJ/OQ6vcNDb75c1VN8x7KxjlTdfGu2dLWTfk="
2122
+ }
2123
+ ],
2124
+ "status": "downloaded",
2125
+ "review_status": "qualified",
2126
+ "batch": 3,
2127
+ "inspection": {
2128
+ "materials": 1,
2129
+ "animations": [],
2130
+ "skins": 0,
2131
+ "extensions": [],
2132
+ "alphaModes": [
2133
+ "OPAQUE"
2134
+ ]
2135
+ }
2136
+ },
2137
+ {
2138
+ "key": "lambis_shell",
2139
+ "category": "Terrain and natural objects",
2140
+ "renderer_target": "Curved glossy organic surface and ridges",
2141
+ "preparation": "Useful close-up of small natural surface detail.",
2142
+ "priority": "Later study",
2143
+ "checked": "2026-10-18",
2144
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2145
+ "name": "Lambis Shell",
2146
+ "provider": "Poly Haven",
2147
+ "source_url": "https://polyhaven.com/a/lambis_shell",
2148
+ "authors": "Kuutti Siitonen (All)",
2149
+ "licence": "CC0-1.0",
2150
+ "licence_url": "https://polyhaven.com/license",
2151
+ "licence_status": "Source licence verified",
2152
+ "formats": "glTF, Blender, FBX, USD",
2153
+ "geometry_count": 12498,
2154
+ "geometry_unit": "Source-reported polygons (not a verified triangle count)",
2155
+ "package_mib": 2.14,
2156
+ "package_basis": "1K glTF + all manifest dependencies; not GPU memory",
2157
+ "format_evidence_url": "https://api.polyhaven.com/files/lambis_shell",
2158
+ "download_entry_url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/lambis_shell/lambis_shell_1k.gltf",
2159
+ "extensions": "",
2160
+ "source_metadata_url": "https://api.polyhaven.com/info/lambis_shell",
2161
+ "lods_advertised": false,
2162
+ "authoring_style": "Realistic / PBR candidate",
2163
+ "cost": "Free",
2164
+ "attribution_required": false,
2165
+ "number": 24,
2166
+ "entry": "lambis_shell_1k.gltf",
2167
+ "files": [
2168
+ {
2169
+ "path": "lambis_shell_1k.gltf",
2170
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/lambis_shell/lambis_shell_1k.gltf",
2171
+ "bytes": 2772,
2172
+ "sha256": "3fbfbe990b12f33af079671bc9ea9b1dd46b50f823692b72aa0d89fe850328e3",
2173
+ "integrity": "sha256-P7++mQsS8zrweWcbyeqbHdRrUPgjaStyqg2J/oUDKOM="
2174
+ },
2175
+ {
2176
+ "path": "lambis_shell.bin",
2177
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/lambis_shell/lambis_shell.bin",
2178
+ "bytes": 310540,
2179
+ "sha256": "3129e3a175dbeba8375b21b8f5dec3b559a173f116dc4c402d79afd8751df7aa",
2180
+ "integrity": "sha256-MSnjoXXb66g3WyG49d7DtVmhc/EW3ExALXmv2HUd96o="
2181
+ },
2182
+ {
2183
+ "path": "textures/lambis_shell_diff_1k.jpg",
2184
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/lambis_shell/lambis_shell_diff_1k.jpg",
2185
+ "bytes": 785669,
2186
+ "sha256": "0b9296a51b8a157fff2245fced2a7723db9db4c7ea3e976802e1f9d3f93b7cc8",
2187
+ "integrity": "sha256-C5KWpRuKFX//IkX87Sp3I9udtMfqPpdoAuH50/k7fMg="
2188
+ },
2189
+ {
2190
+ "path": "textures/lambis_shell_arm_1k.jpg",
2191
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/lambis_shell/lambis_shell_arm_1k.jpg",
2192
+ "bytes": 567463,
2193
+ "sha256": "360e5e637404cd8999914ba679d4bcc726b73016b69697631ba7ab33b31b4d2c",
2194
+ "integrity": "sha256-Ng5eY3QEzYmZkUumedS8xya3MBa2lpdjG6erM7MbTSw="
2195
+ },
2196
+ {
2197
+ "path": "textures/lambis_shell_nor_gl_1k.jpg",
2198
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/lambis_shell/lambis_shell_nor_gl_1k.jpg",
2199
+ "bytes": 582208,
2200
+ "sha256": "285344a5bd1ea5710fdd0447be0fb7b86bd2b5a8d67f1c93d01d4201d8f3e369",
2201
+ "integrity": "sha256-KFNEpb0epXEP3QRHvg+3uGvStajWfxyT0B1CAdjz42k="
2202
+ }
2203
+ ],
2204
+ "status": "downloaded",
2205
+ "review_status": "qualified",
2206
+ "batch": 3,
2207
+ "inspection": {
2208
+ "materials": 1,
2209
+ "animations": [],
2210
+ "skins": 0,
2211
+ "extensions": [],
2212
+ "alphaModes": [
2213
+ "OPAQUE"
2214
+ ]
2215
+ }
2216
+ },
2217
+ {
2218
+ "key": "rock_face_01",
2219
+ "category": "Terrain and natural objects",
2220
+ "renderer_target": "Layered stone and grazing-light normal detail",
2221
+ "preparation": "Useful cliff wall component for the original floating-citadel composition.",
2222
+ "priority": "Later study",
2223
+ "checked": "2026-10-18",
2224
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2225
+ "name": "Rock Face 01",
2226
+ "provider": "Poly Haven",
2227
+ "source_url": "https://polyhaven.com/a/rock_face_01",
2228
+ "authors": "Dario Barresi (All)",
2229
+ "licence": "CC0-1.0",
2230
+ "licence_url": "https://polyhaven.com/license",
2231
+ "licence_status": "Source licence verified",
2232
+ "formats": "glTF, Blender, FBX, USD",
2233
+ "geometry_count": 20174,
2234
+ "geometry_unit": "Source-reported polygons (not a verified triangle count)",
2235
+ "package_mib": 2.91,
2236
+ "package_basis": "1K glTF + all manifest dependencies; not GPU memory",
2237
+ "format_evidence_url": "https://api.polyhaven.com/files/rock_face_01",
2238
+ "download_entry_url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/rock_face_01/rock_face_01_1k.gltf",
2239
+ "extensions": "",
2240
+ "source_metadata_url": "https://api.polyhaven.com/info/rock_face_01",
2241
+ "lods_advertised": false,
2242
+ "authoring_style": "Realistic / PBR candidate",
2243
+ "cost": "Free",
2244
+ "attribution_required": false,
2245
+ "number": 25,
2246
+ "entry": "rock_face_01_1k.gltf",
2247
+ "files": [
2248
+ {
2249
+ "path": "rock_face_01_1k.gltf",
2250
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/rock_face_01/rock_face_01_1k.gltf",
2251
+ "bytes": 2793,
2252
+ "sha256": "96c332c01d173a2431115f3bac29be101fba341e5500e2a08e384f4edd17299e",
2253
+ "integrity": "sha256-lsMywB0XOiQxEV87rCm+EB+6NB5VAOKgjjhPTt0XKZ4="
2254
+ },
2255
+ {
2256
+ "path": "textures/rock_face_01_arm_1k.jpg",
2257
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rock_face_01/rock_face_01_arm_1k.jpg",
2258
+ "bytes": 693610,
2259
+ "sha256": "59128c79d207a50a69a38002986135ade3b19642d26158cec141eca41578c9ca",
2260
+ "integrity": "sha256-WRKMedIHpQppo4ACmGE1reOxlkLSYVjOwUHspBV4yco="
2261
+ },
2262
+ {
2263
+ "path": "textures/rock_face_01_nor_gl_1k.jpg",
2264
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rock_face_01/rock_face_01_nor_gl_1k.jpg",
2265
+ "bytes": 1023400,
2266
+ "sha256": "9a9d85b9a01f4e24fc9ceec8baf96c019f552bca69591ff544c7a725e28b1d97",
2267
+ "integrity": "sha256-mp2FuaAfTiT8nO7IuvlsAZ9VK8ppWR/1RMenJeKLHZc="
2268
+ },
2269
+ {
2270
+ "path": "textures/rock_face_01_diff_1k.jpg",
2271
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rock_face_01/rock_face_01_diff_1k.jpg",
2272
+ "bytes": 853749,
2273
+ "sha256": "41bd26ed2db1332b1ebb4b1326fd8af4d21f0f0eb57b8ea385033115c722cfdb",
2274
+ "integrity": "sha256-Qb0m7S2xMyseu0sTJv2K9NIfDw61e46jhQMxFcciz9s="
2275
+ },
2276
+ {
2277
+ "path": "rock_face_01.bin",
2278
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/rock_face_01/rock_face_01.bin",
2279
+ "bytes": 476436,
2280
+ "sha256": "873eac0319333e92bc96ddeedf8ebf69dc3c68ff1dfe32d8c14ddc165cdb20ac",
2281
+ "integrity": "sha256-hz6sAxkzPpK8lt3u346/adw8aP8d/jLYwU3cFlzbIKw="
2282
+ }
2283
+ ],
2284
+ "status": "downloaded",
2285
+ "review_status": "qualified",
2286
+ "batch": 3,
2287
+ "inspection": {
2288
+ "materials": 1,
2289
+ "animations": [],
2290
+ "skins": 0,
2291
+ "extensions": [],
2292
+ "alphaModes": [
2293
+ "OPAQUE"
2294
+ ]
2295
+ }
2296
+ },
2297
+ {
2298
+ "key": "tree_stump_01",
2299
+ "category": "Terrain and natural objects",
2300
+ "renderer_target": "Decayed wood, bark normals and crevice shadows",
2301
+ "preparation": "Useful close-up beside smoother varnished wood.",
2302
+ "priority": "Later study",
2303
+ "checked": "2026-10-18",
2304
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2305
+ "name": "Tree Stump 01",
2306
+ "provider": "Poly Haven",
2307
+ "source_url": "https://polyhaven.com/a/tree_stump_01",
2308
+ "authors": "Rob Tuytel (All)",
2309
+ "licence": "CC0-1.0",
2310
+ "licence_url": "https://polyhaven.com/license",
2311
+ "licence_status": "Source licence verified",
2312
+ "formats": "glTF, Blender, FBX, USD",
2313
+ "geometry_count": 41046,
2314
+ "geometry_unit": "Source-reported polygons (not a verified triangle count)",
2315
+ "package_mib": 3.76,
2316
+ "package_basis": "1K glTF + all manifest dependencies; not GPU memory",
2317
+ "format_evidence_url": "https://api.polyhaven.com/files/tree_stump_01",
2318
+ "download_entry_url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/tree_stump_01/tree_stump_01_1k.gltf",
2319
+ "extensions": "",
2320
+ "source_metadata_url": "https://api.polyhaven.com/info/tree_stump_01",
2321
+ "lods_advertised": false,
2322
+ "authoring_style": "Realistic / PBR candidate",
2323
+ "cost": "Free",
2324
+ "attribution_required": false,
2325
+ "number": 27,
2326
+ "entry": "tree_stump_01_1k.gltf",
2327
+ "files": [
2328
+ {
2329
+ "path": "tree_stump_01_1k.gltf",
2330
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/tree_stump_01/tree_stump_01_1k.gltf",
2331
+ "bytes": 2793,
2332
+ "sha256": "9c66ba87d693f35eb404acaa96e0eeff831c295b61a0a903795584cbcc3527c9",
2333
+ "integrity": "sha256-nGa6h9aT8160BKyqluDu/4McKVthoKkDeVWEy8w1J8k="
2334
+ },
2335
+ {
2336
+ "path": "tree_stump_01.bin",
2337
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/tree_stump_01/tree_stump_01.bin",
2338
+ "bytes": 965380,
2339
+ "sha256": "b4d9ca70b3c908c4a638fbd6a23ed96c84055bbbf14cf44b89e31ad59fa21e0a",
2340
+ "integrity": "sha256-tNnKcLPJCMSmOPvWoj7ZbIQFW7vxTPRLieMa1Z+iHgo="
2341
+ },
2342
+ {
2343
+ "path": "textures/tree_stump_01_diff_1k.jpg",
2344
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_stump_01/tree_stump_01_diff_1k.jpg",
2345
+ "bytes": 907451,
2346
+ "sha256": "781ebe420ac4d84f2e44b9e9937a596e3d5d90711d978a1392f8bf3771b5bf31",
2347
+ "integrity": "sha256-eB6+QgrE2E8uRLnpk3pZbj1dkHEdl4oTkvi/N3G1vzE="
2348
+ },
2349
+ {
2350
+ "path": "textures/tree_stump_01_nor_gl_1k.jpg",
2351
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_stump_01/tree_stump_01_nor_gl_1k.jpg",
2352
+ "bytes": 1238404,
2353
+ "sha256": "425117514b0386bb6df41cb64a61a624d2596472e05777483d4021b3285e3ceb",
2354
+ "integrity": "sha256-QlEXUUsDhrtt9By2SmGmJNJZZHLgV3dIPUAhsyhePOs="
2355
+ },
2356
+ {
2357
+ "path": "textures/tree_stump_01_arm_1k.jpg",
2358
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_stump_01/tree_stump_01_arm_1k.jpg",
2359
+ "bytes": 825646,
2360
+ "sha256": "d845cd6ab45288c546267d059ebe1f8a737e174330fe9375e5f99e753f2f95d8",
2361
+ "integrity": "sha256-2EXNarRSiMVGJn0Fnr4finN+F0Mw/pN15fmedT8vldg="
2362
+ }
2363
+ ],
2364
+ "status": "downloaded",
2365
+ "review_status": "qualified",
2366
+ "batch": 3,
2367
+ "inspection": {
2368
+ "materials": 1,
2369
+ "animations": [],
2370
+ "skins": 0,
2371
+ "extensions": [],
2372
+ "alphaModes": [
2373
+ "OPAQUE"
2374
+ ]
2375
+ }
2376
+ },
2377
+ {
2378
+ "key": "ArmChair_01",
2379
+ "category": "Wood, rope and textiles",
2380
+ "renderer_target": "Varnished carved wood versus upholstery",
2381
+ "preparation": "Useful for testing selective coating and material masks.",
2382
+ "priority": "Later study",
2383
+ "checked": "2026-10-18",
2384
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2385
+ "name": "Arm Chair 01",
2386
+ "provider": "Poly Haven",
2387
+ "source_url": "https://polyhaven.com/a/ArmChair_01",
2388
+ "authors": "Kirill Sannikov (All)",
2389
+ "licence": "CC0-1.0",
2390
+ "licence_url": "https://polyhaven.com/license",
2391
+ "licence_status": "Source licence verified",
2392
+ "formats": "glTF, Blender, FBX, USD",
2393
+ "geometry_count": 5626,
2394
+ "geometry_unit": "Source-reported polygons (not a verified triangle count)",
2395
+ "package_mib": 0.73,
2396
+ "package_basis": "1K glTF + all manifest dependencies; not GPU memory",
2397
+ "format_evidence_url": "https://api.polyhaven.com/files/ArmChair_01",
2398
+ "download_entry_url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/ArmChair_01/ArmChair_01_1k.gltf",
2399
+ "extensions": "",
2400
+ "source_metadata_url": "https://api.polyhaven.com/info/ArmChair_01",
2401
+ "lods_advertised": false,
2402
+ "authoring_style": "Realistic / PBR candidate",
2403
+ "cost": "Free",
2404
+ "attribution_required": false,
2405
+ "number": 28,
2406
+ "entry": "ArmChair_01_1k.gltf",
2407
+ "files": [
2408
+ {
2409
+ "path": "ArmChair_01_1k.gltf",
2410
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/ArmChair_01/ArmChair_01_1k.gltf",
2411
+ "bytes": 2643,
2412
+ "sha256": "91e39d5b35f36c8074b7b6432f6fd77f5f1a257c4d6af3924c0b263eb674286b",
2413
+ "integrity": "sha256-keOdWzXzbIB0t7ZDL2/Xf18aJXxNavOSTAsmPrZ0KGs="
2414
+ },
2415
+ {
2416
+ "path": "textures/Armchair_01_diff_1k.jpg",
2417
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/ArmChair_01/Armchair_01_diff_1k.jpg",
2418
+ "bytes": 184246,
2419
+ "sha256": "db30fc9ab61ac50c91ab7573583d2855a2910df1ecade02b89e3e8ab8d4e4c2d",
2420
+ "integrity": "sha256-2zD8mrYaxQyRq3VzWD0oVaKRDfHsreAriePoq41OTC0="
2421
+ },
2422
+ {
2423
+ "path": "ArmChair_01.bin",
2424
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/4k/ArmChair_01/ArmChair_01.bin",
2425
+ "bytes": 154012,
2426
+ "sha256": "42a4206ea8bb3f7c3c1500ca3e408e084e8687cd3cc9cbf095b3344e215e0db6",
2427
+ "integrity": "sha256-QqQgbqi7P3w8FQDKPkCOCE6Gh808ycvwlbM0TiFeDbY="
2428
+ },
2429
+ {
2430
+ "path": "textures/Armchair_01_nor_gl_1k.jpg",
2431
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/ArmChair_01/Armchair_01_nor_gl_1k.jpg",
2432
+ "bytes": 289916,
2433
+ "sha256": "f5e4a43a12e79537e53e27c2bd4c5296b3e191cd6b301afce9fafd9d38238dde",
2434
+ "integrity": "sha256-9eSkOhLnlTflPifCvUxSlrPhkc1rMBr86fr9nTgjjd4="
2435
+ },
2436
+ {
2437
+ "path": "textures/Armchair_01_arm_1k.jpg",
2438
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/ArmChair_01/Armchair_01_arm_1k.jpg",
2439
+ "bytes": 138327,
2440
+ "sha256": "d272c68e8180f2a381314ac0cef5a9165d15d951a0558cb40a17af71cf6a51c6",
2441
+ "integrity": "sha256-0nLGjoGA8qOBMUrAzvWpFl0V2VGgVYy0Chevcc9qUcY="
2442
+ }
2443
+ ],
2444
+ "status": "downloaded",
2445
+ "review_status": "qualified",
2446
+ "batch": 3,
2447
+ "inspection": {
2448
+ "materials": 1,
2449
+ "animations": [],
2450
+ "skins": 0,
2451
+ "extensions": [],
2452
+ "alphaModes": [
2453
+ "OPAQUE"
2454
+ ]
2455
+ }
2456
+ },
2457
+ {
2458
+ "key": "fishermans_hat",
2459
+ "category": "Wood, rope and textiles",
2460
+ "renderer_target": "Canvas weave, seams and soft grazing highlights",
2461
+ "preparation": "Cloth sheen must be tuned separately from metal eyelets.",
2462
+ "priority": "Later study",
2463
+ "checked": "2026-10-18",
2464
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2465
+ "name": "Fishermans Hat",
2466
+ "provider": "Poly Haven",
2467
+ "source_url": "https://polyhaven.com/a/fishermans_hat",
2468
+ "authors": "PierreB3D (All)",
2469
+ "licence": "CC0-1.0",
2470
+ "licence_url": "https://polyhaven.com/license",
2471
+ "licence_status": "Source licence verified",
2472
+ "formats": "glTF, Blender, FBX, USD",
2473
+ "geometry_count": 10304,
2474
+ "geometry_unit": "Source-reported polygons (not a verified triangle count)",
2475
+ "package_mib": 2.23,
2476
+ "package_basis": "1K glTF + all manifest dependencies; not GPU memory",
2477
+ "format_evidence_url": "https://api.polyhaven.com/files/fishermans_hat",
2478
+ "download_entry_url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/fishermans_hat/fishermans_hat_1k.gltf",
2479
+ "extensions": "",
2480
+ "source_metadata_url": "https://api.polyhaven.com/info/fishermans_hat",
2481
+ "lods_advertised": false,
2482
+ "authoring_style": "Realistic / PBR candidate",
2483
+ "cost": "Free",
2484
+ "attribution_required": false,
2485
+ "number": 29,
2486
+ "entry": "fishermans_hat_1k.gltf",
2487
+ "files": [
2488
+ {
2489
+ "path": "fishermans_hat_1k.gltf",
2490
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/fishermans_hat/fishermans_hat_1k.gltf",
2491
+ "bytes": 2788,
2492
+ "sha256": "5178f62b9238f27624f99b32b590085233bfa373f97e5b999eb111f8b3f1c473",
2493
+ "integrity": "sha256-UXj2K5I48nYk+ZsytZAIUjO/o3P5fluZnrER+LPxxHM="
2494
+ },
2495
+ {
2496
+ "path": "textures/fishermans_hat_nor_gl_1k.jpg",
2497
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/fishermans_hat/fishermans_hat_nor_gl_1k.jpg",
2498
+ "bytes": 831090,
2499
+ "sha256": "906540073940562861e555f05f9359edec554272fcfa89452ac70e275a0f1430",
2500
+ "integrity": "sha256-kGVABzlAVihh5VXwX5NZ7exVQnL8+olFKscOJ1oPFDA="
2501
+ },
2502
+ {
2503
+ "path": "textures/fishermans_hat_diff_1k.jpg",
2504
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/fishermans_hat/fishermans_hat_diff_1k.jpg",
2505
+ "bytes": 458124,
2506
+ "sha256": "68d281ac3b8d01a195ea4fc68dd6e403b7589a2c8fa950b7a732ae2e7bea6e5d",
2507
+ "integrity": "sha256-aNKBrDuNAaGV6k/GjdbkA7dYmiyPqVC3pzKuLnvqbl0="
2508
+ },
2509
+ {
2510
+ "path": "textures/fishermans_hat_arm_1k.jpg",
2511
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/fishermans_hat/fishermans_hat_arm_1k.jpg",
2512
+ "bytes": 771591,
2513
+ "sha256": "345aee18896df5879d845dd3852b734fbb53551e1110245d6e5a4297b64e959d",
2514
+ "integrity": "sha256-NFruGIlt9YedhF3ThStzT7tTVR4RECRdblpCl7ZOlZ0="
2515
+ },
2516
+ {
2517
+ "path": "fishermans_hat.bin",
2518
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/4k/fishermans_hat/fishermans_hat.bin",
2519
+ "bytes": 276096,
2520
+ "sha256": "793a27019bd1d99302452729a3feb0cd271b3f268f059a8fec60ec0c23a443e1",
2521
+ "integrity": "sha256-eTonAZvR2ZMCRScpo/6wzScbPyaPBZqP7GDsDCOkQ+E="
2522
+ }
2523
+ ],
2524
+ "status": "downloaded",
2525
+ "review_status": "qualified",
2526
+ "batch": 3,
2527
+ "inspection": {
2528
+ "materials": 1,
2529
+ "animations": [],
2530
+ "skins": 0,
2531
+ "extensions": [],
2532
+ "alphaModes": [
2533
+ "OPAQUE"
2534
+ ]
2535
+ }
2536
+ },
2537
+ {
2538
+ "key": "rubber_boots",
2539
+ "category": "Wood, rope and textiles",
2540
+ "renderer_target": "Rubber sheen, dirt and surface scuffs",
2541
+ "preparation": "A useful contrast to cloth and wood; keep highlights broad.",
2542
+ "priority": "Later study",
2543
+ "checked": "2026-10-18",
2544
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2545
+ "name": "Rubber Boots",
2546
+ "provider": "Poly Haven",
2547
+ "source_url": "https://polyhaven.com/a/rubber_boots",
2548
+ "authors": "L (All)",
2549
+ "licence": "CC0-1.0",
2550
+ "licence_url": "https://polyhaven.com/license",
2551
+ "licence_status": "Source licence verified",
2552
+ "formats": "glTF, Blender, FBX, USD",
2553
+ "geometry_count": 35004,
2554
+ "geometry_unit": "Source-reported polygons (not a verified triangle count)",
2555
+ "package_mib": 1.92,
2556
+ "package_basis": "1K glTF + all manifest dependencies; not GPU memory",
2557
+ "format_evidence_url": "https://api.polyhaven.com/files/rubber_boots",
2558
+ "download_entry_url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/rubber_boots/rubber_boots_1k.gltf",
2559
+ "extensions": "",
2560
+ "source_metadata_url": "https://api.polyhaven.com/info/rubber_boots",
2561
+ "lods_advertised": false,
2562
+ "authoring_style": "Realistic / PBR candidate",
2563
+ "cost": "Free",
2564
+ "attribution_required": false,
2565
+ "number": 31,
2566
+ "entry": "rubber_boots_1k.gltf",
2567
+ "files": [
2568
+ {
2569
+ "path": "rubber_boots_1k.gltf",
2570
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/rubber_boots/rubber_boots_1k.gltf",
2571
+ "bytes": 6106,
2572
+ "sha256": "28d05445827905a3ef77bdc2c9afd9d0dd0cf066b743a9ab7627dd32cb155222",
2573
+ "integrity": "sha256-KNBURYJ5BaPvd73Cya/Z0N0M8Ga3Q6mrdifdMssVUiI="
2574
+ },
2575
+ {
2576
+ "path": "textures/rubber_boots_nor_gl_1k.jpg",
2577
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rubber_boots/rubber_boots_nor_gl_1k.jpg",
2578
+ "bytes": 204450,
2579
+ "sha256": "19b1adab8853b829e4e803f1c6920fe78767343e4bc49a63e59129ecaff47394",
2580
+ "integrity": "sha256-GbGtq4hTuCnk6APxxpIP54dnND5LxJpj5ZEp7K/0c5Q="
2581
+ },
2582
+ {
2583
+ "path": "textures/rubber_boots_diff_1k.jpg",
2584
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rubber_boots/rubber_boots_diff_1k.jpg",
2585
+ "bytes": 122413,
2586
+ "sha256": "23785002747feb5b8042025889cdc6d9b822e7f02ef56e41605bf22fdb9e2a68",
2587
+ "integrity": "sha256-I3hQAnR/61uAQgJYic3G2bgi5/Au9W5BYFvyL9ueKmg="
2588
+ },
2589
+ {
2590
+ "path": "textures/rubber_boots_arm_1k.jpg",
2591
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rubber_boots/rubber_boots_arm_1k.jpg",
2592
+ "bytes": 111952,
2593
+ "sha256": "138bc0281bf63053b667009e3ddd68ae692e7d31d6eb9d12b145fcd586c8c090",
2594
+ "integrity": "sha256-E4vAKBv2MFO2ZwCePd1ormkufTHW650SsUX81YbIwJA="
2595
+ },
2596
+ {
2597
+ "path": "textures/rubber_boots_dirty_nor_gl_1k.jpg",
2598
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rubber_boots/rubber_boots_dirty_nor_gl_1k.jpg",
2599
+ "bytes": 248492,
2600
+ "sha256": "7ccf35399431feeb2257887e852e6bd340e958b9b7c1eb7b0ccc095faf63ffc2",
2601
+ "integrity": "sha256-fM81OZQx/usiV4h+hS5r00DpWLm3wet7DMwJX69j/8I="
2602
+ },
2603
+ {
2604
+ "path": "textures/rubber_boots_dirty_diff_1k.jpg",
2605
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rubber_boots/rubber_boots_dirty_diff_1k.jpg",
2606
+ "bytes": 291900,
2607
+ "sha256": "4de29d2cfd4864cb97fcc7dd976ffc4dedb713896ffad7690086c7402c34ec85",
2608
+ "integrity": "sha256-TeKdLP1IZMuX/Mfdl2/8Te23E4lv+tdpAIbHQCw07IU="
2609
+ },
2610
+ {
2611
+ "path": "textures/rubber_boots_dirty_arm_1k.jpg",
2612
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/rubber_boots/rubber_boots_dirty_arm_1k.jpg",
2613
+ "bytes": 373800,
2614
+ "sha256": "a6996bfb9b003574aa244fee1f6f455c94453ad33716d601fe7b7cb3d9c8e09e",
2615
+ "integrity": "sha256-pplr+5sANXSqJE/uH29FXJRFOtM3FtYB/nt8s9nI4J4="
2616
+ },
2617
+ {
2618
+ "path": "rubber_boots.bin",
2619
+ "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/rubber_boots/rubber_boots.bin",
2620
+ "bytes": 653312,
2621
+ "sha256": "2b0aa0fcf7ed8363bdb9a7f200c64620780ef3581f44b63cc55ef5f7bc6c6a9c",
2622
+ "integrity": "sha256-Kwqg/Pftg2O9uafyAMZGIHgO81gfRLY8xV7197xsapw="
2623
+ }
2624
+ ],
2625
+ "status": "downloaded",
2626
+ "review_status": "qualified",
2627
+ "batch": 3,
2628
+ "inspection": {
2629
+ "materials": 2,
2630
+ "animations": [],
2631
+ "skins": 0,
2632
+ "extensions": [],
2633
+ "alphaModes": [
2634
+ "OPAQUE"
2635
+ ]
2636
+ }
2637
+ },
2638
+ {
2639
+ "key": "SheenChair",
2640
+ "category": "Wood, rope and textiles",
2641
+ "renderer_target": "Upholstery sheen, texture transforms and material variants",
2642
+ "preparation": "Qualify sheen and variant selection before public display.",
2643
+ "priority": "Later study",
2644
+ "checked": "2026-10-18",
2645
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2646
+ "name": "Sheen Chair",
2647
+ "provider": "Khronos sample assets",
2648
+ "source_url": "https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/SheenChair",
2649
+ "authors": "Eric Chadwick (Everything); \u00a9 2020 Wayfair, LLC",
2650
+ "licence": "CC0-1.0",
2651
+ "licence_url": "https://github.com/KhronosGroup/glTF-Sample-Assets/blob/main/Models/SheenChair/README.md",
2652
+ "licence_status": "Source licence verified",
2653
+ "formats": "glTF, glTF-Binary",
2654
+ "geometry_count": null,
2655
+ "geometry_unit": "Not measured",
2656
+ "package_mib": null,
2657
+ "package_basis": "Not measured; JSON buffer length excludes external textures",
2658
+ "format_evidence_url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/SheenChair/glTF/SheenChair.gltf",
2659
+ "download_entry_url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/SheenChair/glTF/SheenChair.gltf",
2660
+ "extensions": "KHR_texture_transform, KHR_materials_sheen, KHR_materials_variants",
2661
+ "source_metadata_url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/SheenChair/metadata.json",
2662
+ "lods_advertised": false,
2663
+ "authoring_style": "Material / rendering reference",
2664
+ "cost": "Free",
2665
+ "attribution_required": false,
2666
+ "material_count": 6,
2667
+ "animation_count": 0,
2668
+ "legal_records": [
2669
+ {
2670
+ "license": "CC0-1.0",
2671
+ "licenseUrl": "https://creativecommons.org/publicdomain/zero/1.0/legalcode",
2672
+ "artist": "Eric Chadwick",
2673
+ "year": "2020",
2674
+ "owner": "Wayfair, LLC",
2675
+ "what": "Everything",
2676
+ "text": "Creative Commons Zero v1.0 Universal",
2677
+ "spdx": "CC0-1.0",
2678
+ "icon": "https://licensebuttons.net/p/zero/1.0/88x31.png"
2679
+ }
2680
+ ],
2681
+ "number": 32,
2682
+ "entry": "SheenChair.gltf",
2683
+ "files": [
2684
+ {
2685
+ "path": "SheenChair.gltf",
2686
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/SheenChair.gltf",
2687
+ "bytes": 20723,
2688
+ "sha256": "1dd2807082c8ed132b67f19b0e2897d1dc0a03682069b9fdb489aafdead2fb26",
2689
+ "integrity": "sha256-HdKAcILI7RMrZ/GbDiiX0dwKA2ggabn9tImq/erS+yY="
2690
+ },
2691
+ {
2692
+ "path": "SheenChair.bin",
2693
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/SheenChair.bin",
2694
+ "bytes": 1137976,
2695
+ "sha256": "bb80869cbb73e6dbacbbcdee8c430cdaa92a7447cce22abbf818b6c673cee427",
2696
+ "integrity": "sha256-u4CGnLtz5tusu83ujEMM2qkqdEfM4iq7+Bi2xnPO5Cc="
2697
+ },
2698
+ {
2699
+ "path": "./chair_fabric_normal.png",
2700
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/chair_fabric_normal.png",
2701
+ "bytes": 1744462,
2702
+ "sha256": "38d8f40054c43370aeb85ae286efcdaf34d15b58af3eb4ef71c579cf9cef34ad",
2703
+ "integrity": "sha256-ONj0AFTEM3CuuFrihu/NrzTRW1ivPrTvccV5z5zvNK0="
2704
+ },
2705
+ {
2706
+ "path": "./chair_occlusion.png",
2707
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/chair_occlusion.png",
2708
+ "bytes": 109972,
2709
+ "sha256": "0623123fbc212728589129fdacd5db5f36a162099a7ba8388e99a4948192e0be",
2710
+ "integrity": "sha256-BiMSP7whJyhYkSn9rNXbXzahYgmae6g4jpmklIGS4L4="
2711
+ },
2712
+ {
2713
+ "path": "./chair_fabric_albedo.png",
2714
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/chair_fabric_albedo.png",
2715
+ "bytes": 133702,
2716
+ "sha256": "f70cffab27db1c53211d3882354adf25752096e17e4f02dced5fc48c4b042b28",
2717
+ "integrity": "sha256-9wz/qyfbHFMhHTiCNUrfJXUgluF+TwLc7V/EjEsEKyg="
2718
+ },
2719
+ {
2720
+ "path": "./chair_wood_albedo.png",
2721
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/chair_wood_albedo.png",
2722
+ "bytes": 181170,
2723
+ "sha256": "b090fa7da19eb6553c70dd7e355a198961740f81d834135b70f51f0589e0f133",
2724
+ "integrity": "sha256-sJD6faGetlU8cN1+NVoZiWF0D4HYNBNbcPUfBYng8TM="
2725
+ },
2726
+ {
2727
+ "path": "./chair_woodbrown_roughnessmetallic.png",
2728
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/chair_woodbrown_roughnessmetallic.png",
2729
+ "bytes": 146100,
2730
+ "sha256": "ee96adac2b6da29ee778b9b61fa9e4ff74ad6a72d67d92754abe39d488c3911f",
2731
+ "integrity": "sha256-7patrCttop7neLm2H6nk/3StanLWfZJ1Sr451IjDkR8="
2732
+ },
2733
+ {
2734
+ "path": "./chair_label.png",
2735
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/chair_label.png",
2736
+ "bytes": 567793,
2737
+ "sha256": "23ee1533678d2460e993286ff81d40d3148386e5f512d85e0b4a3cd4b0d013e1",
2738
+ "integrity": "sha256-I+4VM2eNJGDpkyhv+B1A0xSDhuX1EtheC0o81LDQE+E="
2739
+ },
2740
+ {
2741
+ "path": "./chair_woodblack_roughnessmetallic.png",
2742
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenChair/glTF/chair_woodblack_roughnessmetallic.png",
2743
+ "bytes": 96313,
2744
+ "sha256": "ae9fdb308858ddec38803b23c57a425b557c8cc106df339adee30c6ea6334bbb",
2745
+ "integrity": "sha256-rp/bMIhY3ew4gDsjxXpCW1V8jMEG3zOa3uMMbqYzS7s="
2746
+ }
2747
+ ],
2748
+ "batch": 3,
2749
+ "status": "downloaded",
2750
+ "review_status": "qualified",
2751
+ "source_revision": "edc7c9e67c639d230715049ee31f9a96a6babbbe",
2752
+ "inspection": {
2753
+ "materials": 6,
2754
+ "animations": [],
2755
+ "skins": 0,
2756
+ "extensions": [
2757
+ "KHR_texture_transform",
2758
+ "KHR_materials_sheen",
2759
+ "KHR_materials_variants"
2760
+ ],
2761
+ "alphaModes": [
2762
+ "OPAQUE"
2763
+ ]
2764
+ },
2765
+ "observed_issue": "Authored default material only. Material variants are not selectable in this inspection."
2766
+ },
2767
+ {
2768
+ "key": "SheenCloth",
2769
+ "category": "Wood, rope and textiles",
2770
+ "renderer_target": "Fabric weave and grazing-angle sheen",
2771
+ "preparation": "A static cloth material study; no cloth simulation is implied.",
2772
+ "priority": "Later study",
2773
+ "checked": "2026-10-18",
2774
+ "import_status": "Fixed-progressive source inspection qualified locally on 2026-10-18; production verification pending.",
2775
+ "name": "Sheen Cloth",
2776
+ "provider": "Khronos sample assets",
2777
+ "source_url": "https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/SheenCloth",
2778
+ "authors": "Microsoft (Everything); \u00a9 2020 Microsoft",
2779
+ "licence": "CC0-1.0",
2780
+ "licence_url": "https://github.com/KhronosGroup/glTF-Sample-Assets/blob/main/Models/SheenCloth/README.md",
2781
+ "licence_status": "Source licence verified",
2782
+ "formats": "glTF",
2783
+ "geometry_count": null,
2784
+ "geometry_unit": "Not measured",
2785
+ "package_mib": null,
2786
+ "package_basis": "Not measured; JSON buffer length excludes external textures",
2787
+ "format_evidence_url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/SheenCloth/glTF/SheenCloth.gltf",
2788
+ "download_entry_url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/SheenCloth/glTF/SheenCloth.gltf",
2789
+ "extensions": "KHR_texture_transform, KHR_materials_sheen",
2790
+ "source_metadata_url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/SheenCloth/metadata.json",
2791
+ "lods_advertised": false,
2792
+ "authoring_style": "Material / rendering reference",
2793
+ "cost": "Free",
2794
+ "attribution_required": false,
2795
+ "material_count": 1,
2796
+ "animation_count": 0,
2797
+ "legal_records": [
2798
+ {
2799
+ "license": "CC0-1.0",
2800
+ "licenseUrl": "https://creativecommons.org/publicdomain/zero/1.0/legalcode",
2801
+ "artist": "Microsoft",
2802
+ "year": "2020",
2803
+ "owner": "Microsoft",
2804
+ "what": "Everything",
2805
+ "text": "Creative Commons Zero v1.0 Universal",
2806
+ "spdx": "CC0-1.0",
2807
+ "icon": "https://licensebuttons.net/p/zero/1.0/88x31.png"
2808
+ }
2809
+ ],
2810
+ "number": 33,
2811
+ "entry": "SheenCloth.gltf",
2812
+ "files": [
2813
+ {
2814
+ "path": "SheenCloth.gltf",
2815
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenCloth/glTF/SheenCloth.gltf",
2816
+ "bytes": 6854,
2817
+ "sha256": "00a2cbc0d2ad4788dbfc00da3c51f252fd8e6003dbfda80b087a548fe3550f02",
2818
+ "integrity": "sha256-AKLLwNKtR4jb/ADaPFHyUv2OYAPb/agLCHpUj+NVDwI="
2819
+ },
2820
+ {
2821
+ "path": "SheenCloth.bin",
2822
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenCloth/glTF/SheenCloth.bin",
2823
+ "bytes": 3479088,
2824
+ "sha256": "4ed1f49797ce52b9f653b8650a31fa249fac99524303b0e153804365fb7e45b1",
2825
+ "integrity": "sha256-TtH0l5fOUrn2U7hlCjH6JJ+smVJDA7DhU4BDZft+RbE="
2826
+ },
2827
+ {
2828
+ "path": "technicalFabricSmall_normal_256.png",
2829
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenCloth/glTF/technicalFabricSmall_normal_256.png",
2830
+ "bytes": 127852,
2831
+ "sha256": "299b1ccf8957d451d7841672b1750b5cfcea65fee1c97eec6b086dc3fdeea838",
2832
+ "integrity": "sha256-KZscz4lX1FHXhBZysXULXPzqZf7hyX7sawhtw/3uqDg="
2833
+ },
2834
+ {
2835
+ "path": "technicalFabricSmall_orm_256.png",
2836
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenCloth/glTF/technicalFabricSmall_orm_256.png",
2837
+ "bytes": 131303,
2838
+ "sha256": "41c04abdb9531d00a4ac832d41f02cd549c7be74886c4d492475cfb95d239a20",
2839
+ "integrity": "sha256-QcBKvblTHQCkrIMtQfAs1UnHvnSIbE1JJHXPuV0jmiA="
2840
+ },
2841
+ {
2842
+ "path": "technicalFabricSmall_basecolor_256.png",
2843
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenCloth/glTF/technicalFabricSmall_basecolor_256.png",
2844
+ "bytes": 125026,
2845
+ "sha256": "e945c0b2aa6e3987d8bb8af23aca58a3f75cce2992bb4803bec8cac6cde8474e",
2846
+ "integrity": "sha256-6UXAsqpuOYfYu4ryOspYo/dczimSu0gDvsjKxs3oR04="
2847
+ },
2848
+ {
2849
+ "path": "technicalFabricSmall_sheen_256.png",
2850
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenCloth/glTF/technicalFabricSmall_sheen_256.png",
2851
+ "bytes": 170368,
2852
+ "sha256": "479c3c65b1b9161701c5587cdfccf42a2de38d4d5365b6b904daf9ba8b7b9aab",
2853
+ "integrity": "sha256-R5w8ZbG5FhcBxVh838z0Ki3jjU1TZba5BNr5uot7mqs="
2854
+ },
2855
+ {
2856
+ "path": "SheenCloth_AO.jpg",
2857
+ "url": "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/edc7c9e67c639d230715049ee31f9a96a6babbbe/Models/SheenCloth/glTF/SheenCloth_AO.jpg",
2858
+ "bytes": 139947,
2859
+ "sha256": "5b40abcf27c3c8a3ccf16e4672da35a1b27680c4037c1b27f390398aaaa896ff",
2860
+ "integrity": "sha256-W0CrzyfDyKPM8W5Gcto1obJ2gMQDfBsn85A5iqqolv8="
2861
+ }
2862
+ ],
2863
+ "batch": 3,
2864
+ "status": "downloaded",
2865
+ "review_status": "qualified",
2866
+ "source_revision": "edc7c9e67c639d230715049ee31f9a96a6babbbe",
2867
+ "inspection": {
2868
+ "materials": 1,
2869
+ "animations": [],
2870
+ "skins": 0,
2871
+ "extensions": [
2872
+ "KHR_texture_transform",
2873
+ "KHR_materials_sheen"
2874
+ ],
2875
+ "alphaModes": [
2876
+ "OPAQUE"
2877
+ ]
2878
+ }
2056
2879
  }
2057
2880
  ]
2058
2881
  }
@@ -189,56 +189,56 @@
189
189
  {
190
190
  "key": "food_pomegranate_01",
191
191
  "batch": 3,
192
- "status": "researched",
193
- "note": "Awaiting acquisition and Plasius visual qualification."
192
+ "status": "qualified",
193
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
194
194
  },
195
195
  {
196
196
  "key": "lambis_shell",
197
197
  "batch": 3,
198
- "status": "researched",
199
- "note": "Awaiting acquisition and Plasius visual qualification."
198
+ "status": "qualified",
199
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
200
200
  },
201
201
  {
202
202
  "key": "rock_face_01",
203
203
  "batch": 3,
204
- "status": "researched",
205
- "note": "Awaiting acquisition and Plasius visual qualification."
204
+ "status": "qualified",
205
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
206
206
  },
207
207
  {
208
208
  "key": "tree_stump_01",
209
209
  "batch": 3,
210
- "status": "researched",
211
- "note": "Awaiting acquisition and Plasius visual qualification."
210
+ "status": "qualified",
211
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
212
212
  },
213
213
  {
214
214
  "key": "ArmChair_01",
215
215
  "batch": 3,
216
- "status": "researched",
217
- "note": "Awaiting acquisition and Plasius visual qualification."
216
+ "status": "qualified",
217
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
218
218
  },
219
219
  {
220
220
  "key": "fishermans_hat",
221
221
  "batch": 3,
222
- "status": "researched",
223
- "note": "Awaiting acquisition and Plasius visual qualification."
222
+ "status": "qualified",
223
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
224
224
  },
225
225
  {
226
226
  "key": "rubber_boots",
227
227
  "batch": 3,
228
- "status": "researched",
229
- "note": "Awaiting acquisition and Plasius visual qualification."
228
+ "status": "qualified",
229
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
230
230
  },
231
231
  {
232
232
  "key": "SheenChair",
233
233
  "batch": 3,
234
- "status": "researched",
235
- "note": "Awaiting acquisition and Plasius visual qualification."
234
+ "status": "qualified",
235
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
236
236
  },
237
237
  {
238
238
  "key": "SheenCloth",
239
239
  "batch": 3,
240
- "status": "researched",
241
- "note": "Awaiting acquisition and Plasius visual qualification."
240
+ "status": "qualified",
241
+ "note": "Original-source fixed64, camera reset/refinement, denoising off/on and native UHD1 checks passed using released renderer 0.2.51/shared 1.1.8. Static authored defaults only; production verification pending."
242
242
  },
243
243
  {
244
244
  "key": "SheenWoodLeatherSofa",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasius/gpu-demo-viewer",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "type": "module",
5
5
  "description": "Root validation viewer for Plasius gpu-* demos.",
6
6
  "license": "Apache-2.0",