@plasius/gpu-demo-viewer 0.1.10 → 0.2.0

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,36 @@ 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.2.0] - 2026-10-21
22
+
23
+ - **Added**
24
+ - Furnished-interior and workshop composite studies in the local model workshop, with shared inspection controls and individual source credits.
25
+
26
+ - **Changed**
27
+ - (placeholder)
28
+
29
+ - **Fixed**
30
+ - (placeholder)
31
+
32
+ - **Security**
33
+ - Update the workshop's Vite development dependency to the patched 8.3.5 release.
34
+
35
+ ## [0.1.11] - 2026-10-21
36
+
37
+ - Add the nine qualified furniture/workshop source models and their integrity inventories, using released shared1.1.12 and renderer0.2.54; reconcile the prior 31-model production records.
38
+
9
39
  - **Added**
10
40
  - (placeholder)
11
41
 
@@ -261,3 +291,5 @@ The format is based on Keep a Changelog and this project adheres to SemVer.
261
291
  [0.1.8]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.8
262
292
  [0.1.9]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.9
263
293
  [0.1.10]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.10
294
+ [0.1.11]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.11
295
+ [0.2.0]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.2.0
package/README.md CHANGED
@@ -54,6 +54,16 @@ or enabled on the production site. The download helper admits only configured
54
54
  resources and keeps two workers, a 100 MiB per-file limit and a 200 MiB batch limit.
55
55
  Source, creator, licence and review notes appear beside each model.
56
56
 
57
+ Two composite studies appear after the individual models in **Choose a model or
58
+ study**: a furnished interior and a workshop still life. They arrange four and
59
+ five credited originals under shared lighting and one camera. They are additional
60
+ views of existing models, so the catalogue still contains forty models. Each
61
+ study lists its sources, licences and chosen dimensions; these are static review
62
+ arrangements, not verified physical-scale scenes. See the
63
+ [composite study guide](https://github.com/Plasius-LTD/gpu-demo-viewer/blob/main/docs/composite-model-studies.md).
64
+ Keep `?review=first-twelve` in the local URL and append
65
+ `&model=study-furnished-interior` or `&model=study-workshop` to bookmark a study.
66
+
57
67
  ## Camera and render quality
58
68
 
59
69
  Drag or use one finger to orbit; Shift/right-drag trucks, Alt-drag pans, and the
@@ -153,6 +163,7 @@ and `PLASIUS_RENDERER_SOURCE` (absolute `src/index.js` or built `dist/index.js`)
153
163
  These overrides are local development tools. Production consumes published,
154
164
  qualified package versions and approved source assets.
155
165
 
166
+ - [Furniture and workshop batch qualification](https://github.com/Plasius-LTD/gpu-demo-viewer/blob/main/docs/batch-four-qualification.json): nine additional sources, including authored WebP materials, checked with released packages.
156
167
  - [Initial model findings](https://github.com/Plasius-LTD/gpu-demo-viewer/blob/main/docs/model-library-review.md).
157
168
  - [UHD inspection contract](https://github.com/Plasius-LTD/gpu-demo-viewer/blob/main/docs/model-inspection-uhd.md).
158
169
  - [Catalogue rollout requirements](https://github.com/Plasius-LTD/gpu-demo-viewer/blob/main/docs/catalogue-production-rollout.md) and [live delivery tracking](https://github.com/Plasius-LTD/plasius-ltd-site/issues/2308).
@@ -0,0 +1,21 @@
1
+ # ADR 0006: Consume shared composite inspection
2
+
3
+ Status: accepted. Date: 2026-10-21.
4
+ Feature: site#1170; Story site#2313; viewer Task #73.
5
+
6
+ The workshop needs to compare several originals under one camera and light.
7
+ Define small authored arrangements using installed catalogue keys, dimensions,
8
+ anchors and Y rotation. Expose them as composite studies alongside individual
9
+ model selection. Keep the count of acquired models distinct from the number of
10
+ views. Resolve complete integrity manifests through the existing fixture helper
11
+ and show every source's attribution and licence.
12
+
13
+ Consume `createSceneInspection` from the released shared package. Rendering,
14
+ loading, budgets, cancellation, camera and refinement remain shared-runtime
15
+ responsibilities. The viewer owns selection, composition data, credits and UI
16
+ lifecycle. Keep source overrides explicit and local to development; repeat
17
+ browser review with the registry package before release.
18
+
19
+ The existing scene-fidelity feature flag and route capability continue to govern
20
+ hosted product access. This local review does not add public-site navigation or
21
+ change the existing localhost review gate.
@@ -8,3 +8,4 @@
8
8
  - [ADR 0003: Reviewed model library](adr-0003-reviewed-model-library.md)
9
9
 
10
10
  - [ADR 0005: Build-time model acquisition subpath](adr-0005-build-time-model-acquisition-subpath.md)
11
+ - [ADR 0006: Composite study consumer](adr-0006-composite-study-consumer.md)
@@ -0,0 +1,241 @@
1
+ {
2
+ "registryConsumptionVerified": true,
3
+ "mode": "fixed-progressive",
4
+ "productionVerified": false,
5
+ "consoleErrors": 0,
6
+ "limitations": [
7
+ "Static authored geometry only; the vice skin is present but animation playback is not qualified.",
8
+ "Source textures and materials are retained, including the sofa WebP maps.",
9
+ "Original camera branding is retained in this technical inspection, not a sponsor or endorsement claim.",
10
+ "Physical touch hardware and screen-reader speech were not tested.",
11
+ "Completed images are source inspection evidence, not full physical-fidelity approval."
12
+ ],
13
+ "models": [
14
+ {
15
+ "key": "SheenWoodLeatherSofa",
16
+ "triangles": 46492,
17
+ "primitives": 6,
18
+ "materials": 6,
19
+ "completedFixedSamples": 64,
20
+ "denoisingOffOn": true,
21
+ "cameraResetAndRefinement": true,
22
+ "completedUhd": {
23
+ "width": 3840,
24
+ "height": 2160,
25
+ "samples": 1
26
+ },
27
+ "evidence": [
28
+ {
29
+ "file": "SheenWoodLeatherSofa-camera-denoise-off.png",
30
+ "sha256": "e0fc6e782da4dbc665b4c7b5756f48235a2c36a33ba2292718a6d2f0b12b7d20"
31
+ },
32
+ {
33
+ "file": "SheenWoodLeatherSofa-uhd.png",
34
+ "sha256": "2331328a89877651e80db4477519927a0d73256f49e8c812f5f5253b1a93563a"
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "key": "SpecularSilkPouf",
40
+ "triangles": 81280,
41
+ "primitives": 1,
42
+ "materials": 1,
43
+ "completedFixedSamples": 64,
44
+ "denoisingOffOn": true,
45
+ "cameraResetAndRefinement": true,
46
+ "completedUhd": {
47
+ "width": 3840,
48
+ "height": 2160,
49
+ "samples": 1
50
+ },
51
+ "evidence": [
52
+ {
53
+ "file": "SpecularSilkPouf-camera-denoise-off.png",
54
+ "sha256": "408377ed01bd330a8bc38f5fff20a8ee73e341d3f705532bf005dd44da9758ca"
55
+ },
56
+ {
57
+ "file": "SpecularSilkPouf-uhd.png",
58
+ "sha256": "8494aff57ff86f7f67aace72f610074b065260e869abb0fe17438d6f5674d8b5"
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "key": "spinning_wheel_01",
64
+ "triangles": 52023,
65
+ "primitives": 1,
66
+ "materials": 1,
67
+ "completedFixedSamples": 64,
68
+ "denoisingOffOn": true,
69
+ "cameraResetAndRefinement": true,
70
+ "completedUhd": {
71
+ "width": 3840,
72
+ "height": 2160,
73
+ "samples": 1
74
+ },
75
+ "evidence": [
76
+ {
77
+ "file": "spinning_wheel_01-camera-denoise-off.png",
78
+ "sha256": "988d0c57af6b80eab0ceb3cc7a3fbfe9d01690033ccee288ff0590c3479738b1"
79
+ },
80
+ {
81
+ "file": "spinning_wheel_01-uhd.png",
82
+ "sha256": "66e0e5954edc057f864650fcae3df1f87c283007e1d9d6abce1369607109203a"
83
+ }
84
+ ]
85
+ },
86
+ {
87
+ "key": "vintage_cabinet_01",
88
+ "triangles": 61096,
89
+ "primitives": 12,
90
+ "materials": 3,
91
+ "completedFixedSamples": 64,
92
+ "denoisingOffOn": true,
93
+ "cameraResetAndRefinement": true,
94
+ "completedUhd": {
95
+ "width": 3840,
96
+ "height": 2160,
97
+ "samples": 1
98
+ },
99
+ "evidence": [
100
+ {
101
+ "file": "vintage_cabinet_01-camera-denoise-off.png",
102
+ "sha256": "dd02748e8b3b186d4b8b1e8e1b6e69fef21d6f34681788f12cf97ba924c9392e"
103
+ },
104
+ {
105
+ "file": "vintage_cabinet_01-uhd.png",
106
+ "sha256": "c1dd6883cfe28c39022fd15125480f0ae6e5c3f1cb8e16151b32e2b753b19ff0"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "key": "wicker_basket_01",
112
+ "triangles": 22276,
113
+ "primitives": 1,
114
+ "materials": 1,
115
+ "completedFixedSamples": 64,
116
+ "denoisingOffOn": true,
117
+ "cameraResetAndRefinement": true,
118
+ "completedUhd": {
119
+ "width": 3840,
120
+ "height": 2160,
121
+ "samples": 1
122
+ },
123
+ "evidence": [
124
+ {
125
+ "file": "wicker_basket_01-camera-denoise-off.png",
126
+ "sha256": "64765edbb558e8bfe0b885a43a6ad583f3f09610188ea95d2de92916256da38b"
127
+ },
128
+ {
129
+ "file": "wicker_basket_01-uhd.png",
130
+ "sha256": "b501910a48a952dda9094e35bf9ce3933b9d1db1793ff34b54b2d44412f596bc"
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ "key": "wine_barrel_01",
136
+ "triangles": 10820,
137
+ "primitives": 4,
138
+ "materials": 1,
139
+ "completedFixedSamples": 64,
140
+ "denoisingOffOn": true,
141
+ "cameraResetAndRefinement": true,
142
+ "completedUhd": {
143
+ "width": 3840,
144
+ "height": 2160,
145
+ "samples": 1
146
+ },
147
+ "evidence": [
148
+ {
149
+ "file": "wine_barrel_01-camera-denoise-off.png",
150
+ "sha256": "ee17ce713e68bc6eb84f51451628ee5744042be398bb8f4e3a2261d0889da590"
151
+ },
152
+ {
153
+ "file": "wine_barrel_01-uhd.png",
154
+ "sha256": "71b63030b37a6ae8775f44994f17ade3af95c3320c5e2b6db877d0f348abb686"
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "key": "bench_vice_01",
160
+ "triangles": 2864,
161
+ "primitives": 4,
162
+ "materials": 1,
163
+ "completedFixedSamples": 64,
164
+ "denoisingOffOn": true,
165
+ "cameraResetAndRefinement": true,
166
+ "completedUhd": {
167
+ "width": 3840,
168
+ "height": 2160,
169
+ "samples": 1
170
+ },
171
+ "evidence": [
172
+ {
173
+ "file": "bench_vice_01-camera-denoise-off.png",
174
+ "sha256": "9d0c386f9f11de5a1fc04eea5eaad4396f50c26fe28e8756b7d23812eb1dad28"
175
+ },
176
+ {
177
+ "file": "bench_vice_01-uhd.png",
178
+ "sha256": "d72590b975e2de4d587e9cb0a1a92c6fefd3ecfa79435a0364bf0af8df28c79b"
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "key": "brass_blowtorch",
184
+ "triangles": 11750,
185
+ "primitives": 1,
186
+ "materials": 1,
187
+ "completedFixedSamples": 64,
188
+ "denoisingOffOn": true,
189
+ "cameraResetAndRefinement": true,
190
+ "completedUhd": {
191
+ "width": 3840,
192
+ "height": 2160,
193
+ "samples": 1
194
+ },
195
+ "evidence": [
196
+ {
197
+ "file": "brass_blowtorch-camera-denoise-off.png",
198
+ "sha256": "0e60c0b69d4ab16343e49151704a1e7dbeabedaf20933a9f35a402a81703f615"
199
+ },
200
+ {
201
+ "file": "brass_blowtorch-uhd.png",
202
+ "sha256": "16d14ae5787880e92917698f5cb4e7d7005d4120c181dcdbd933a141e31e7bc6"
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "key": "Camera_01",
208
+ "triangles": 26987,
209
+ "primitives": 5,
210
+ "materials": 4,
211
+ "completedFixedSamples": 64,
212
+ "denoisingOffOn": true,
213
+ "cameraResetAndRefinement": true,
214
+ "completedUhd": {
215
+ "width": 3840,
216
+ "height": 2160,
217
+ "samples": 1
218
+ },
219
+ "evidence": [
220
+ {
221
+ "file": "Camera_01-camera-denoise-off.png",
222
+ "sha256": "d526ce8a27947ed61b1defb6c314bccbdf1404199294f1937d3f4baacca2d0b2"
223
+ },
224
+ {
225
+ "file": "Camera_01-uhd.png",
226
+ "sha256": "c70be2048687be430424d70a8db0e46081223f9f26f54ba73cf7128a529ccca2"
227
+ }
228
+ ]
229
+ }
230
+ ],
231
+ "historicalSourceQualification": {
232
+ "date": "2026-10-18",
233
+ "renderer": "0.2.51",
234
+ "sharedSourceCommit": "665efda20a312084bf58e5db707bbaec7e209364",
235
+ "initialSourceOverrides": true
236
+ },
237
+ "date": "2026-10-21",
238
+ "renderer": "0.2.54",
239
+ "shared": "1.1.12",
240
+ "sourceOverrides": false
241
+ }
@@ -6,10 +6,11 @@ for delivery evidence and current status. Parent Epic: site#2271;
6
6
  Feature: site#1170. First-batch Story: site#2303; production Task: site#2305.
7
7
 
8
8
  The research catalogue contains 75 distinct source assets/sets. Gem is explicitly
9
- excluded by the user, leaving 74 production candidates: eleven retained from
10
- the original twelve and 63 further models. Thirty-one have been acquired and ten
11
- are currently selectable in production.
12
- The 52 deployed files are geometry/texture resources, not 52 models.
9
+ excluded by the user, leaving 74 production candidates. The 31-model release was
10
+ production-verified on 20 October 2026; its 199 resources are files, not models.
11
+ This next candidate adds nine qualified furniture/workshop sources with 64
12
+ resources (30,610,988 bytes). Source acquisition for later batches remains in
13
+ progress separately; those records are not included in this release candidate.
13
14
 
14
15
  ## Delivery sequence
15
16
 
@@ -132,3 +133,32 @@ off/on and native UHD1 using released packages, with no observed console errors.
132
133
  See [batch three evidence](batch-three-qualification.json). Four boot meshes are
133
134
  part of the source set; Sheen Chair retains its default authored material.
134
135
  Production verification remains pending.
136
+
137
+ ## Next release: furniture and workshop sources
138
+
139
+ Resume viewer Task #62 and site Story #2308 with the nine original batch-four
140
+ models. Recheck all nine with registry-installed shared and renderer packages,
141
+ without source overrides. Retain the prior source qualification as historical
142
+ evidence, add exact released-version checks and admit only models whose source,
143
+ materials, camera/refinement, denoising and native UHD checks pass. Keep later
144
+ acquired batches separate until their qualification is complete. Publish the
145
+ viewer catalogue and then the site through their approved workflows; verify the
146
+ 40-model public selector and resource hashes before calling the batch live.
147
+
148
+ The next scene review will combine qualified assets into a furnished interior
149
+ and a workshop. Reuse the existing scene/loading/model packages and preserve
150
+ original model files, material maps, licences and source identities. Define and
151
+ track composition requirements before implementing reusable scene support. Test
152
+ scale, placement, shadows, colour interaction and combined resource budgets.
153
+ These composite scenes follow this model release and precede any voxel conversion.
154
+
155
+ ## Batch 4 registry qualification
156
+
157
+ All nine original furniture/workshop models completed fixed64, camera reset and
158
+ refinement, denoising off/on and native 3840×2160 at one sample with released
159
+ renderer0.2.54 and shared1.1.12, without source overrides. No console warnings or
160
+ errors were observed. Source geometry, materials and textures remain unchanged;
161
+ sofa WebP maps are present. The [qualification record](batch-four-qualification.json)
162
+ retains the prior source-check context and binds the fresh screenshots by hash.
163
+ This is static inspection qualification, not animation playback or a claim of
164
+ complete material fidelity. Site production verification remains pending.
@@ -0,0 +1,65 @@
1
+ # Furnished interior and workshop studies
2
+
3
+ Feature: site#1170; Story site#2313; viewer Task #73; shared Task #161.
4
+ Inherited remote rollout: `gpu-demo.scene-fidelity.enabled`.
5
+
6
+ After qualifying and releasing the forty-model batch, add two local workshop
7
+ studies using the shared `createSceneInspection` API. The furnished interior
8
+ compares the sofa, silk pouf, cabinet and basket. The workshop compares the
9
+ spinning wheel, barrel, crate, vice and blowtorch. All are existing credited,
10
+ integrity-checked originals. Scale and placement are authored review choices.
11
+
12
+ Keep individual models available and clearly distinguish composite studies from
13
+ the model count. Show every source/author/licence and chosen dimension. Reuse the
14
+ existing quality controls, camera help, progressive status, cancellation and
15
+ visibility lifecycle. Load only the selected model or study. Public-site scene
16
+ navigation is separate qualified consumer work.
17
+
18
+ Before implementation, test scene selection, complete source requests, missing
19
+ source rejection, credits, shared quality/lifecycle controls and cancellation.
20
+ Review both arrangements in actual WebGPU with >=3 sources together, camera
21
+ movement and native UHD. Release the shared package first, then consume that
22
+ registry version and repeat the review before viewer release. Keep source aliases
23
+ explicit and local to development. Record limits instead of claiming untested
24
+ animation, adaptive optical quality, physical touch or screen-reader speech.
25
+
26
+ ## Initial browser review
27
+
28
+ The four-model interior (211,146 triangles including ground) and five-model
29
+ workshop (82,635 triangles) completed fixed 64 samples at 800 × 282 with
30
+ renderer 0.2.54 and a local source override for the new shared API. Both also
31
+ completed native 3840 × 2160 at one sample; camera changes and denoising-off
32
+ refinement completed again. The interior additionally passed mouse orbit and
33
+ a UHD-to-balanced round trip using native browser menus. All source credits
34
+ and licence links were inspected. At a 320-pixel viewport the interior completed
35
+ 64 samples at 800 × 601, all four models remained in frame, and the page and
36
+ expanded credits had no horizontal overflow. The temporary viewport override was
37
+ reset. No renderer console warnings/errors appeared.
38
+
39
+ Preparing a heavy scene after quality changes takes several seconds. Direct DOM
40
+ automation hit its three-second input deadline and left two transitions incomplete;
41
+ a clean page with native menu input completed the same transition. This does
42
+ not establish real-time responsiveness. The retained evidence records this
43
+ limitation alongside the completed frames. Physical touch, screen-reader speech
44
+ and reference optical fidelity remain untested. The original versus voxel
45
+ distinction is unchanged.
46
+
47
+ ## Registry-consumer qualification
48
+
49
+ Both studies were reviewed again with the published `gpu-shared` 1.2.0 and
50
+ `gpu-renderer` 0.2.54 packages, with no source aliases. Both completed 64 samples
51
+ at 800 × 282, refined after keyboard camera movement and denoising changes, and
52
+ completed native 3840 × 2160 at one sample. The interior also completed the return
53
+ to balanced resolution. No renderer console warnings/errors appeared. A native
54
+ checkbox action exceeded the automation input deadline but the requested quality
55
+ change and subsequent 64-sample refinement completed.
56
+
57
+ The repeat mobile check could not be completed: the high-level viewport override
58
+ did not affect the review tab, and browser approval rejected tab-scoped emulation.
59
+ No workaround was attempted. The earlier source-version 320-pixel evidence still
60
+ applies to the same layout; this is not a claim of a second mobile test.
61
+
62
+ The viewer suite passes all 56 tests with 100% line coverage, including all changed
63
+ JavaScript sources in LCOV. Syntax, build, package-content and full dependency
64
+ audit checks pass. These are functional render checks; one-sample UHD output is
65
+ not an optical-quality or performance qualification.