@plasius/gpu-demo-viewer 0.1.6 → 0.1.8
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 +40 -0
- package/README.md +38 -3
- package/docs/adrs/adr-0005-build-time-model-acquisition-subpath.md +19 -0
- package/docs/adrs/index.md +2 -0
- package/docs/amber-fixed-qualification.json +54 -0
- package/docs/batch-one-qualification.json +161 -0
- package/docs/batch-two-qualification.json +145 -0
- package/docs/catalogue-production-rollout.md +115 -0
- package/model-library/catalogue.json +1107 -40
- package/model-library/index.html +2 -2
- package/model-library/research-catalogue.json +2625 -0
- package/model-library/rollout.js +28 -0
- package/model-library/rollout.json +461 -0
- package/package.json +6 -5
- package/scripts/acquire-model-library.mjs +6 -3
- package/viewer-manifest.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,44 @@ 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.8] - 2026-10-18
|
|
22
|
+
|
|
23
|
+
- Consume released renderer 0.2.51 and shared 1.1.8 for responsive camera updates and material reuse on repeated modular-kit meshes.
|
|
24
|
+
|
|
25
|
+
- Export the existing bounded Node asset-acquisition helper for hash-pinned build-time consumers; record five further acquired foliage/terrain models and four LOD holds.
|
|
26
|
+
|
|
27
|
+
- Prepare six original Poly Haven models for the next review batch and bound acquisition to an explicitly selected batch.
|
|
28
|
+
|
|
29
|
+
- **Added**
|
|
30
|
+
- (placeholder)
|
|
31
|
+
|
|
32
|
+
- **Changed**
|
|
33
|
+
- (placeholder)
|
|
34
|
+
|
|
35
|
+
- **Fixed**
|
|
36
|
+
- (placeholder)
|
|
37
|
+
|
|
38
|
+
- **Security**
|
|
39
|
+
- (placeholder)
|
|
40
|
+
|
|
41
|
+
## [0.1.7] - 2026-10-18
|
|
42
|
+
|
|
43
|
+
- Exclude Gem at user request and record the original Amber fixed-transport qualification; the production target is 74 models.
|
|
44
|
+
|
|
45
|
+
- Track all 75 model candidates, their first-twelve/seven-batch membership and explicit acquisition, held and production states before the later voxel pass.
|
|
46
|
+
|
|
9
47
|
- **Added**
|
|
10
48
|
- (placeholder)
|
|
11
49
|
|
|
@@ -187,3 +225,5 @@ The format is based on Keep a Changelog and this project adheres to SemVer.
|
|
|
187
225
|
[0.1.4]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.4
|
|
188
226
|
[0.1.5]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.5
|
|
189
227
|
[0.1.6]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.6
|
|
228
|
+
[0.1.7]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.7
|
|
229
|
+
[0.1.8]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.8
|
package/README.md
CHANGED
|
@@ -151,13 +151,13 @@ fallback. Rollback disables CD; it never rewrites published package history.
|
|
|
151
151
|
|
|
152
152
|
## Model library review
|
|
153
153
|
|
|
154
|
-
`npm run models:download` installs the ten reviewed, freely licensed Poly Haven and Khronos fixtures from `model-library/catalogue.json`, including all buffer/image dependencies. Downloads are bounded and SHA-256 checked; binaries are ignored by Git and npm. `npm run models:dev` opens the localhost server on port 5291. Visit `http://127.0.0.1:5291/?review=first-twelve`. The Medieval house is a manually supplied eleventh asset;
|
|
154
|
+
`npm run models:download` installs the ten reviewed, freely licensed Poly Haven and Khronos fixtures from `model-library/catalogue.json`, including all buffer/image dependencies. Downloads are bounded and SHA-256 checked; binaries are ignored by Git and npm. `npm run models:dev` opens the localhost server on port 5291. Visit `http://127.0.0.1:5291/?review=first-twelve`. The Medieval house is a manually supplied eleventh asset; Gem is excluded from the rollout by request. Source links, creators and licences are available beside each model.
|
|
155
155
|
|
|
156
156
|
For Medieval house, obtain the original GLB from its credited Sketchfab source and place it at `model-library/assets/sf-house/medieval_house.glb`, then run `npm run models:download` to verify its pinned size and SHA-256 and write its credits. This command never downloads manual assets; a missing file produces an explicit placement message. The catalogue stores no private local paths.
|
|
157
157
|
|
|
158
158
|
This page consumes the shared model-inspection package entrypoint. While its upstream release is pending, development testing can set `PLASIUS_SHARED_INSPECTION_SOURCE` to an absolute path to the reviewed sibling `src/model-inspection.js`; this explicit source override is for localhost development only, not a released dependency or production deployment.
|
|
159
159
|
|
|
160
|
-
Mouse/touch/keyboard inspection reuses the material-study camera. The view progressively refines while the camera is still, stopping at the selected sample target. `Home` restores framing and `?` displays a brief gesture reminder. Resizing updates resolution while preserving the camera. Fox is static here; its Survey, Walk and Run clips remain in the original download. Amber
|
|
160
|
+
Mouse/touch/keyboard inspection reuses the material-study camera. The view progressively refines while the camera is still, stopping at the selected sample target. `Home` restores framing and `?` displays a brief gesture reminder. Resizing updates resolution while preserving the camera. Fox is static here; its Survey, Walk and Run clips remain in the original download. Amber uses the fixed-continuation correction in renderer 0.2.50; its original materials are unchanged. See `docs/model-library-review.md` for the initial findings; none of these fixtures is implicitly approved for the production showcase.
|
|
161
161
|
|
|
162
162
|
Render-quality controls select 8–256 total samples, 2–12 light bounces, 480/800/1280px render width and denoising. Defaults are 64/6/800/on. The first pass is one sample; idle refinement adds up to four samples per batch. Camera and quality changes restart history. Hidden tabs pause further work; the progress bar reports completed samples and actual dimensions. Settings do not reload the source model.
|
|
163
163
|
|
|
@@ -165,4 +165,39 @@ During upstream progressive-renderer development, also set `PLASIUS_RENDERER_SOU
|
|
|
165
165
|
|
|
166
166
|
The model review includes native 1920 × 1080, 2560 × 1440 and 3840 × 2160 quality presets. These trace the exact selected pixel dimensions independently of viewport size; the canvas contains the image without stretching. A one-sample target supports quick full-resolution checks. See [UHD inspection design](docs/model-inspection-uhd.md).
|
|
167
167
|
|
|
168
|
-
The released model review uses fixed progressive sampling with native UHD sizes and requires
|
|
168
|
+
The released model review uses fixed progressive sampling with native UHD sizes and requires renderer 0.2.51/shared 1.1.8 or newer. Adaptive controls remain in a separate qualification branch. See [release scope](docs/model-review-release.md); the local inspection catalogue explicitly retains unresolved visual findings.
|
|
169
|
+
|
|
170
|
+
## Complete model catalogue rollout
|
|
171
|
+
|
|
172
|
+
The [74-model production rollout](docs/catalogue-production-rollout.md) tracks the
|
|
173
|
+
eleven retained originals and seven subsequent batches of nine. The research
|
|
174
|
+
manifest retains the excluded Gem identity, making 75 research records. `model-library/rollout.json`
|
|
175
|
+
records acquisition/qualification state separately from production entitlement;
|
|
176
|
+
`research-catalogue.json` preserves the original source identities and credits.
|
|
177
|
+
Ten models are currently production-verified. Amber is locally qualified with renderer 0.2.50 and awaits production verification; Gem is excluded by request. Research entries are not a claim of downloaded or working
|
|
178
|
+
models. Voxel conversion is the following pass after original-model production
|
|
179
|
+
qualification. GitHub Story [2308](https://github.com/Plasius-LTD/plasius-ltd-site/issues/2308)
|
|
180
|
+
owns delivery and acceptance.
|
|
181
|
+
|
|
182
|
+
### Review batch downloads
|
|
183
|
+
|
|
184
|
+
`npm run models:download -- 1` acquires only the six checked Poly Haven models
|
|
185
|
+
in the first follow-on batch. The default remains batch 0 (the original group).
|
|
186
|
+
Each batch retains the existing 200 MiB total and 100 MiB per-file download
|
|
187
|
+
limits, two workers and exact hashes. Downloaded models are candidates, not
|
|
188
|
+
production approvals. The local workshop includes acquired candidates with
|
|
189
|
+
their source credits; production remains a separately qualified catalogue.
|
|
190
|
+
|
|
191
|
+
### Build-time model acquisition
|
|
192
|
+
|
|
193
|
+
Node consumers may import `acquisitionPlan` and `acquireFixtures` from
|
|
194
|
+
`@plasius/gpu-demo-viewer/model-library/acquire`. Pass reviewed asset metadata
|
|
195
|
+
and a destination root; the helper verifies exact bytes and SHA-256, uses only
|
|
196
|
+
approved HTTPS providers without redirects, and bounds concurrency, time and
|
|
197
|
+
bytes. Select one explicit reviewed batch per call (200 MiB total / 100 MiB per
|
|
198
|
+
resource maximum). Existing files must match; missing manual sources fail closed.
|
|
199
|
+
This Node subpath is build tooling and must not enter browser bundles. Binary
|
|
200
|
+
assets are not included in the npm package. Site build-time use retains stricter
|
|
201
|
+
resource limits and verifies the complete source dependency closure.
|
|
202
|
+
|
|
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.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# ADR 0005: Share the bounded Node model acquisition helper
|
|
2
|
+
|
|
3
|
+
Accepted for staged delivery, 18 October 2026. Feature site#1170, Story site#2308,
|
|
4
|
+
Task #62. The growing original-model catalogue must not put every source binary
|
|
5
|
+
in site Git history or duplicate the reviewed acquisition implementation.
|
|
6
|
+
|
|
7
|
+
Expose `model-library/acquire.js` as `@plasius/gpu-demo-viewer/model-library/acquire`.
|
|
8
|
+
This is a Node-only tooling boundary; browser entrypoints and public runtime APIs
|
|
9
|
+
remain unchanged. Preserve existing provider allowlists, SHA-256/length checks,
|
|
10
|
+
redirect rejection, two workers, deadlines, manual-source admission and byte
|
|
11
|
+
budgets. Callers select explicit batches and may impose tighter constraints.
|
|
12
|
+
|
|
13
|
+
The site materializes reviewed sources during normal CI/builds, then tests the
|
|
14
|
+
complete output and embeds it in its approved deployment artifact. A missing or
|
|
15
|
+
changed provider source fails the build. Original bytes and credits remain
|
|
16
|
+
traceable; package tarballs contain metadata/tools, never source binary bundles.
|
|
17
|
+
|
|
18
|
+
Export regression, existing acquisition failure tests, combined LCOV and approved
|
|
19
|
+
package CI/CD are required before the site consumes this boundary.
|
package/docs/adrs/index.md
CHANGED
|
@@ -6,3 +6,5 @@
|
|
|
6
6
|
- [ADR-0002: Hosted OIDC Package Publication](./adr-0002-hosted-oidc-package-publication.md)
|
|
7
7
|
|
|
8
8
|
- [ADR 0003: Reviewed model library](adr-0003-reviewed-model-library.md)
|
|
9
|
+
|
|
10
|
+
- [ADR 0005: Build-time model acquisition subpath](adr-0005-build-time-model-acquisition-subpath.md)
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"date": "2026-10-18",
|
|
3
|
+
"rendererCorrectionCommit": "ad52d1124455807cc1355525ab9ec0c2a9b9637b",
|
|
4
|
+
"releasedBaseline": "0.2.49",
|
|
5
|
+
"candidateVersion": "0.2.50",
|
|
6
|
+
"sourceAssetsUnchanged": true,
|
|
7
|
+
"matchedComparison": {
|
|
8
|
+
"samples": 256,
|
|
9
|
+
"maxDepth": 6,
|
|
10
|
+
"width": 800,
|
|
11
|
+
"height": 282,
|
|
12
|
+
"denoise": false
|
|
13
|
+
},
|
|
14
|
+
"nativeUhd": {
|
|
15
|
+
"width": 3840,
|
|
16
|
+
"height": 2160,
|
|
17
|
+
"samples": 1,
|
|
18
|
+
"maxDepth": 6,
|
|
19
|
+
"denoise": true
|
|
20
|
+
},
|
|
21
|
+
"cameraReset": {
|
|
22
|
+
"before": 256,
|
|
23
|
+
"afterMovement": 0,
|
|
24
|
+
"refined": 256
|
|
25
|
+
},
|
|
26
|
+
"proof": [
|
|
27
|
+
{
|
|
28
|
+
"file": "released-256.png",
|
|
29
|
+
"sha256": "98e8243c5deb8bd80352af9ea24bdaf924b981be0f3495f6920530b6bccdc881"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"file": "bounded-256.png",
|
|
33
|
+
"sha256": "981c87a2780b779a9fc54f6d18b1cf920538aea08b5f062f5c1828cc5f23988a"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"file": "bounded-256-denoised.png",
|
|
37
|
+
"sha256": "23f414fe11cc727057d8b81e0c9533c8cbbcfd91f10e9a33a51126afb20bd61b"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"file": "Amber-UHD-1.png",
|
|
41
|
+
"sha256": "58ac9b4cda4df5f21ad21e7d7ce9718f3606646af0535cf8412b4471e29a2961"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"file": "Amber-camera-refined.png",
|
|
45
|
+
"sha256": "e3670b2bbc302206f533a661388177069e1d61dd382121c39e5b50de43139e0d"
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"limits": [
|
|
49
|
+
"Fixed sampling only; experimental adaptive transport remains unqualified.",
|
|
50
|
+
"UHD at one sample demonstrates admission and dimensions, not matched-quality or real-time performance.",
|
|
51
|
+
"Fox is static; source animations are retained but not played.",
|
|
52
|
+
"Physical touch and screen-reader speech have not been tested."
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
{
|
|
2
|
+
"date": "2026-10-18",
|
|
3
|
+
"renderer": "0.2.50",
|
|
4
|
+
"sharedSource": "3d119868bb9be471f71e04e1e91ed467a958b2d6",
|
|
5
|
+
"mode": "fixed-progressive",
|
|
6
|
+
"sourcePolicy": "Original source resources unchanged; default modular-kit layouts retained.",
|
|
7
|
+
"productionVerified": false,
|
|
8
|
+
"limitations": [
|
|
9
|
+
"No adaptive transport qualification.",
|
|
10
|
+
"Static geometry only; no animation entitlement implied.",
|
|
11
|
+
"This is a source-model inspection catalogue, not assembled cinematic scenes.",
|
|
12
|
+
"Dandelion source contains five widely spaced plants; use camera approach/truck for leaf detail.",
|
|
13
|
+
"Physical touch hardware and screen-reader speech were not tested."
|
|
14
|
+
],
|
|
15
|
+
"models": [
|
|
16
|
+
{
|
|
17
|
+
"key": "large_iron_gate",
|
|
18
|
+
"triangles": 38140,
|
|
19
|
+
"primitives": 4,
|
|
20
|
+
"materials": 1,
|
|
21
|
+
"completedFixedSamples": 64,
|
|
22
|
+
"completedUhd": {
|
|
23
|
+
"width": 3840,
|
|
24
|
+
"height": 2160,
|
|
25
|
+
"samples": 1
|
|
26
|
+
},
|
|
27
|
+
"evidence": [
|
|
28
|
+
{
|
|
29
|
+
"file": "Large-Iron-Gate.png",
|
|
30
|
+
"sha256": "c1b6d1d907ef6dc24a2483b44b035b834dac306c780e1a3e8d05164f4bb93892"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"file": "Large-Iron-Gate-UHD.png",
|
|
34
|
+
"sha256": "94c3b333073b0cd572fd1f93bb1176a4caf697c3c10b48c901e7136e7d8b557c"
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"key": "modular_factory_facade",
|
|
40
|
+
"triangles": 175014,
|
|
41
|
+
"primitives": 263,
|
|
42
|
+
"materials": 6,
|
|
43
|
+
"completedFixedSamples": 64,
|
|
44
|
+
"completedUhd": {
|
|
45
|
+
"width": 3840,
|
|
46
|
+
"height": 2160,
|
|
47
|
+
"samples": 1
|
|
48
|
+
},
|
|
49
|
+
"evidence": [
|
|
50
|
+
{
|
|
51
|
+
"file": "Modular-Factory-Facade.png",
|
|
52
|
+
"sha256": "afb015f2d620513b3bb88bff49df06948100fb76e9696cd5296e1da217228f25"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"file": "Modular-Factory-Facade-UHD.png",
|
|
56
|
+
"sha256": "6ec1279c040cb6af2d3aeb290e6c40ad3a35548882406cf659a98c3358e9f8fe"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"key": "modular_fort_01",
|
|
62
|
+
"triangles": 28218,
|
|
63
|
+
"primitives": 45,
|
|
64
|
+
"materials": 3,
|
|
65
|
+
"completedFixedSamples": 64,
|
|
66
|
+
"completedUhd": {
|
|
67
|
+
"width": 3840,
|
|
68
|
+
"height": 2160,
|
|
69
|
+
"samples": 1
|
|
70
|
+
},
|
|
71
|
+
"evidence": [
|
|
72
|
+
{
|
|
73
|
+
"file": "Modular-Fort-01.png",
|
|
74
|
+
"sha256": "c2a9b7fc1124946ed1ffc9f5cf710752422221581df81699229ff7236bd66503"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"file": "Modular-Fort-01-UHD.png",
|
|
78
|
+
"sha256": "992eec049485a2ba1a90ee1c3097cafdec0f7ab00220423d9e8eb5de7daba0ec"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"key": "modular_urban_apartments_facade",
|
|
84
|
+
"triangles": 270045,
|
|
85
|
+
"primitives": 193,
|
|
86
|
+
"materials": 5,
|
|
87
|
+
"completedFixedSamples": 64,
|
|
88
|
+
"completedUhd": {
|
|
89
|
+
"width": 3840,
|
|
90
|
+
"height": 2160,
|
|
91
|
+
"samples": 1
|
|
92
|
+
},
|
|
93
|
+
"evidence": [
|
|
94
|
+
{
|
|
95
|
+
"file": "Modular-Urban-Apartments-Facade.png",
|
|
96
|
+
"sha256": "0de5ba7e3e084477d871ea6a3d87d462c2cc848568184a5706ee905698ff27f7"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"file": "Modular-Urban-Apartments-Facade-UHD.png",
|
|
100
|
+
"sha256": "da58feb5597d1642b672812333a8d3b4591dd02288cee0ca6f00c7ddb2459935"
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"key": "modular_wooden_pier",
|
|
106
|
+
"triangles": 84780,
|
|
107
|
+
"primitives": 12,
|
|
108
|
+
"materials": 2,
|
|
109
|
+
"completedFixedSamples": 64,
|
|
110
|
+
"completedUhd": {
|
|
111
|
+
"width": 3840,
|
|
112
|
+
"height": 2160,
|
|
113
|
+
"samples": 1
|
|
114
|
+
},
|
|
115
|
+
"evidence": [
|
|
116
|
+
{
|
|
117
|
+
"file": "Modular-Wooden-Pier.png",
|
|
118
|
+
"sha256": "6417b2f48258bdcaa29447984c65b504ce6e8d5b61ec5b695d3045dc3fb9afc1"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"file": "Modular-Wooden-Pier-UHD.png",
|
|
122
|
+
"sha256": "11625d3cb251e7fb45f125b17ed67044a8fea737d1c333713893de1dd704eb73"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"key": "dandelion_01",
|
|
128
|
+
"triangles": 54764,
|
|
129
|
+
"primitives": 5,
|
|
130
|
+
"materials": 1,
|
|
131
|
+
"completedFixedSamples": 64,
|
|
132
|
+
"completedUhd": {
|
|
133
|
+
"width": 3840,
|
|
134
|
+
"height": 2160,
|
|
135
|
+
"samples": 1
|
|
136
|
+
},
|
|
137
|
+
"evidence": [
|
|
138
|
+
{
|
|
139
|
+
"file": "Dandelion-01.png",
|
|
140
|
+
"sha256": "eba0dfe86dca4bfdd37203e44e9041fa832f21f6329ee57d5b8316c35bb6577b"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"file": "Dandelion-01-UHD.png",
|
|
144
|
+
"sha256": "342b2d313c18e2a4eda35fa1e85a66f3bdb7fb475095c23bfc292c7efe5bd62b"
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"registryConsumptionCheck": {
|
|
150
|
+
"renderer": "0.2.51",
|
|
151
|
+
"shared": "1.1.8",
|
|
152
|
+
"sourceOverrides": false,
|
|
153
|
+
"completedFixedSamples": 64,
|
|
154
|
+
"cameraResetAndRefinement": true,
|
|
155
|
+
"consoleErrors": 0,
|
|
156
|
+
"evidence": {
|
|
157
|
+
"file": "Factory-released-packages.png",
|
|
158
|
+
"sha256": "57ad9a850dfffdf642bc2e641fe19484ba343df27f245fac20af02cec4ec00eb"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
{
|
|
2
|
+
"date": "2026-10-18",
|
|
3
|
+
"rendererSource": "65de630819322cdd90955417d21f97dd51416e90",
|
|
4
|
+
"sharedSource": "3d119868bb9be471f71e04e1e91ed467a958b2d6",
|
|
5
|
+
"requiredPublishedPackages": {
|
|
6
|
+
"@plasius/gpu-renderer": "0.2.51",
|
|
7
|
+
"@plasius/gpu-shared": "1.1.8"
|
|
8
|
+
},
|
|
9
|
+
"mode": "fixed-progressive",
|
|
10
|
+
"productionVerified": false,
|
|
11
|
+
"limitations": [
|
|
12
|
+
"Static source geometry only; this does not qualify adaptive transport or animation.",
|
|
13
|
+
"Physical touch hardware and screen-reader speech were not tested.",
|
|
14
|
+
"Changing quality settings reallocates the renderer and can take several seconds on dense sources."
|
|
15
|
+
],
|
|
16
|
+
"models": [
|
|
17
|
+
{
|
|
18
|
+
"key": "grass_medium_01",
|
|
19
|
+
"triangles": 24730,
|
|
20
|
+
"primitives": 17,
|
|
21
|
+
"materials": 1,
|
|
22
|
+
"completedFixedSamples": 64,
|
|
23
|
+
"cameraResetAndRefinement": true,
|
|
24
|
+
"completedUhd": {
|
|
25
|
+
"width": 3840,
|
|
26
|
+
"height": 2160,
|
|
27
|
+
"samples": 1
|
|
28
|
+
},
|
|
29
|
+
"evidence": [
|
|
30
|
+
{
|
|
31
|
+
"file": "Grass-Medium-01.png",
|
|
32
|
+
"sha256": "c3110d79baa4cf1307cf818f694458b8e1865bdb1f3758a0210ebe0ac0e3ddc1"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"file": "Grass-Medium-01-UHD.png",
|
|
36
|
+
"sha256": "2bef23adc598ebaf0f6df4008444325e7425b0199edcac49e3690c2b8f44fd91"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"key": "searsia_lucida",
|
|
42
|
+
"triangles": 377192,
|
|
43
|
+
"primitives": 21,
|
|
44
|
+
"materials": 3,
|
|
45
|
+
"completedFixedSamples": 64,
|
|
46
|
+
"cameraResetAndRefinement": true,
|
|
47
|
+
"completedUhd": {
|
|
48
|
+
"width": 3840,
|
|
49
|
+
"height": 2160,
|
|
50
|
+
"samples": 1
|
|
51
|
+
},
|
|
52
|
+
"evidence": [
|
|
53
|
+
{
|
|
54
|
+
"file": "Searsia-Lucida.png",
|
|
55
|
+
"sha256": "571ba465753bd4aec4d063b60e72e7196ed1ce0936a335dd28c0b7266be04b15"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"file": "Searsia-Lucida-UHD.png",
|
|
59
|
+
"sha256": "06478a062b57dc382d37c5ae448d2b3987b99bfa77589407b470af24a888ffe1"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"key": "boulder_01",
|
|
65
|
+
"triangles": 66122,
|
|
66
|
+
"primitives": 1,
|
|
67
|
+
"materials": 1,
|
|
68
|
+
"completedFixedSamples": 64,
|
|
69
|
+
"cameraResetAndRefinement": true,
|
|
70
|
+
"completedUhd": {
|
|
71
|
+
"width": 3840,
|
|
72
|
+
"height": 2160,
|
|
73
|
+
"samples": 1
|
|
74
|
+
},
|
|
75
|
+
"evidence": [
|
|
76
|
+
{
|
|
77
|
+
"file": "Boulder-01.png",
|
|
78
|
+
"sha256": "d5a85db2d77d54bee0a2359ee3704ad1a751952dae9da55f52ee845df8c5dc21"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"file": "Boulder-01-UHD.png",
|
|
82
|
+
"sha256": "0c8e927d9845c5218740c7efc65c7b282bb0f7d45166779b3244dd6aebc12793"
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"key": "coastal_cliff_01",
|
|
88
|
+
"triangles": 461824,
|
|
89
|
+
"primitives": 1,
|
|
90
|
+
"materials": 1,
|
|
91
|
+
"completedFixedSamples": 64,
|
|
92
|
+
"cameraResetAndRefinement": true,
|
|
93
|
+
"completedUhd": {
|
|
94
|
+
"width": 3840,
|
|
95
|
+
"height": 2160,
|
|
96
|
+
"samples": 1
|
|
97
|
+
},
|
|
98
|
+
"evidence": [
|
|
99
|
+
{
|
|
100
|
+
"file": "Coastal-Cliff-01.png",
|
|
101
|
+
"sha256": "13ca80f446d6ee1199c67712a9f81b3c8b1303ecea335de0217d2b723c229adb"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"file": "Coastal-Cliff-01-UHD.png",
|
|
105
|
+
"sha256": "532cf5b9b272ce0e395e82bf044fa964b3cd00ebbac8160c4295b78edce5ee15"
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"key": "dead_tree_trunk",
|
|
111
|
+
"triangles": 101802,
|
|
112
|
+
"primitives": 1,
|
|
113
|
+
"materials": 1,
|
|
114
|
+
"completedFixedSamples": 64,
|
|
115
|
+
"cameraResetAndRefinement": true,
|
|
116
|
+
"completedUhd": {
|
|
117
|
+
"width": 3840,
|
|
118
|
+
"height": 2160,
|
|
119
|
+
"samples": 1
|
|
120
|
+
},
|
|
121
|
+
"evidence": [
|
|
122
|
+
{
|
|
123
|
+
"file": "Dead-Tree-Trunk.png",
|
|
124
|
+
"sha256": "ae1c01085ea5d4ed1fc05bd76ffa7a1d622dc620ca67c5a578b0cfedc59de3ce"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"file": "Dead-Tree-Trunk-UHD.png",
|
|
128
|
+
"sha256": "3664c0101bd9d80e4993376272d1e83abe23298001dc72f7ab526acf09d83b8a"
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"registryConsumptionCheck": {
|
|
134
|
+
"renderer": "0.2.51",
|
|
135
|
+
"shared": "1.1.8",
|
|
136
|
+
"sourceOverrides": false,
|
|
137
|
+
"completedFixedSamples": 64,
|
|
138
|
+
"cameraResetAndRefinement": true,
|
|
139
|
+
"consoleErrors": 0,
|
|
140
|
+
"evidence": {
|
|
141
|
+
"file": "Searsia-Lucida-released-packages.png",
|
|
142
|
+
"sha256": "2c33f63553d04e901e3386e13b83100e700631efc15b4685c79a1abf0dae7b86"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Complete catalogue rollout
|
|
2
|
+
|
|
3
|
+
Status: delivery in progress, 18 October 2026. Parent Epic: site#2271;
|
|
4
|
+
Feature: site#1170. First-batch Story: site#2303; production Task: site#2305.
|
|
5
|
+
|
|
6
|
+
The research catalogue contains 75 distinct source assets/sets. Gem is explicitly
|
|
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
|
|
9
|
+
are currently selectable in production.
|
|
10
|
+
The 52 deployed files are geometry/texture resources, not 52 models.
|
|
11
|
+
|
|
12
|
+
## Delivery sequence
|
|
13
|
+
|
|
14
|
+
1. Diagnose Mosquito In Amber using its unchanged source geometry, textures and
|
|
15
|
+
material properties. Compare released rendering with isolated corrections;
|
|
16
|
+
retain known-bad evidence. Resolve transport/import faults with tests in the
|
|
17
|
+
owning `@plasius/*` package before updating consumers. Do not whiten the
|
|
18
|
+
material, remove transmission, replace the model or hide defects with filtering.
|
|
19
|
+
2. Retain the excluded Gem research identity for provenance. Do not download or
|
|
20
|
+
substitute it. Verify all eleven retained originals and their source credits.
|
|
21
|
+
3. Release qualified owning packages through approved main `cd.yml`, consume
|
|
22
|
+
registry versions, and publish the eleven retained first-group models through site CI/CD.
|
|
23
|
+
4. Process the remaining 63 candidates in seven batches of nine, preserving
|
|
24
|
+
catalogue order. An individual dependency or unresolved licence is explicitly
|
|
25
|
+
held; it must not prevent unrelated candidates being inspected. Batch membership
|
|
26
|
+
and per-model status are version controlled; GitHub Project issues own delivery.
|
|
27
|
+
5. Only after this original-model pass is available in production, begin a
|
|
28
|
+
separately designed PVOX conversion pass using the existing Plasius voxel
|
|
29
|
+
packages. Preserve original hashes/credits to support source-versus-voxel
|
|
30
|
+
comparisons. No voxel runtime or format is reimplemented here.
|
|
31
|
+
|
|
32
|
+
## Qualification and publication
|
|
33
|
+
|
|
34
|
+
For every model record source identity, author, licence, original hashes,
|
|
35
|
+
chosen LOD, dependencies, transformations, triangle/texture/memory budgets,
|
|
36
|
+
supported extensions and any animation limitation. Floating Castle still needs
|
|
37
|
+
its upstream scan credits resolved. Large tree source bundles need suitable LODs;
|
|
38
|
+
do not increase existing runtime/download limits merely to admit them.
|
|
39
|
+
|
|
40
|
+
Reuse gpu-shared import/inspection, gpu-renderer, camera and model packages.
|
|
41
|
+
Keep one selected model in flight, cancel stale work and dispose GPU resources.
|
|
42
|
+
Lazy-load selected assets only; catalogue expansion must not download every asset
|
|
43
|
+
or add renderer code to the homepage. Acquisition retains strict hashes, source
|
|
44
|
+
allowlists, timeout, byte limits and bounded concurrency. Original binaries stay
|
|
45
|
+
out of npm packages and private file paths stay out of committed metadata.
|
|
46
|
+
|
|
47
|
+
Before public enablement: compare texture/material/silhouette appearance with
|
|
48
|
+
the source; test completed fixed sampling, progressive refinement, camera reset,
|
|
49
|
+
denoising off/on, errors, teardown, keyboard, 320px layout and UHD admission.
|
|
50
|
+
Record actual dimensions/counts and timings; a completed render is not evidence
|
|
51
|
+
of physical material accuracy or animation playback. Preserve source materials.
|
|
52
|
+
|
|
53
|
+
Tests cover batch identity/completeness, pending and failed assets, integrity,
|
|
54
|
+
cancellation, selection and release-manifest exclusion of unqualified entries.
|
|
55
|
+
Require relevant tests, type/lint/build/package checks, >=80% coverage and every
|
|
56
|
+
changed runtime source in LCOV. Shader coverage retains the standing exception.
|
|
57
|
+
|
|
58
|
+
Production inherits the stored `gpu-demo.scene-fidelity.enabled` feature flag
|
|
59
|
+
and existing GPU-route capability. Source catalogue qualification is distinct
|
|
60
|
+
from rollout authorization. No production environment-variable bypass is added.
|
|
61
|
+
Rollback uses the stored flag/capability and the prior approved deployment.
|
|
62
|
+
Record exact successful CI/CD, production asset hashes and sensitive backend
|
|
63
|
+
secretref mappings before closing any release-bearing item. Keep adaptive
|
|
64
|
+
transport qualification separate; its draft packages are not production inputs.
|
|
65
|
+
|
|
66
|
+
## Completion evidence
|
|
67
|
+
|
|
68
|
+
This document is the design, not a claim of additional published models. Batch
|
|
69
|
+
tracking must distinguish researched, acquired, imported, visually qualified and
|
|
70
|
+
production-verified counts. Missing/held models keep the overall work open.
|
|
71
|
+
|
|
72
|
+
## Fixed Amber qualification
|
|
73
|
+
|
|
74
|
+
The [qualification record](amber-fixed-qualification.json) binds the renderer
|
|
75
|
+
source and exact screenshot hashes for the original-source comparison. The
|
|
76
|
+
enclosed insect is now visible without the previous severe dark shell or bands.
|
|
77
|
+
All retained fixture categories completed fixed64 checks; Amber additionally
|
|
78
|
+
completed fixed256 with denoising off/on, camera reset/refinement and native
|
|
79
|
+
3840×2160 at one sample. These checks do not qualify adaptive transport or claim
|
|
80
|
+
complete cinematic presentation. Production verification remains a separate gate.
|
|
81
|
+
|
|
82
|
+
## Batch 1 acquisition
|
|
83
|
+
|
|
84
|
+
Six CC0 Poly Haven sources are acquired unchanged: Large Iron Gate, Modular
|
|
85
|
+
Factory Facade, Modular Fort 01, Modular Urban Apartments Facade, Modular Wooden
|
|
86
|
+
Pier and Dandelion 01. Their 60 files total 58,823,648 bytes. Provider MD5/length
|
|
87
|
+
checks and recorded SHA-256 inventories agree; glTF dependency closure is complete.
|
|
88
|
+
`models:download -- 1` selects only this batch; runtime review still loads one
|
|
89
|
+
model at a time. Floating Castle, Thatched Cottage and Diffuse Transmission Plant
|
|
90
|
+
remain outside the acquired set. No additional model is production-qualified by
|
|
91
|
+
this acquisition record.
|
|
92
|
+
|
|
93
|
+
## Batch 1 inspection
|
|
94
|
+
|
|
95
|
+
The [qualification record](batch-one-qualification.json) records all six source
|
|
96
|
+
models completing fixed64 and native 3840×2160 at one sample. The material reuse
|
|
97
|
+
correction in shared PR150 makes the factory kit usable without duplicating its
|
|
98
|
+
six materials across 263 primitives. Camera and quality controls remain the
|
|
99
|
+
shared inspection APIs. The modular sources remain separate kit pieces; the
|
|
100
|
+
dandelion source contains five plants spread apart. This qualification supports
|
|
101
|
+
source inspection and does not claim assembled environments or cinematic quality.
|
|
102
|
+
Production remains pending registry consumption and approved site deployment.
|
|
103
|
+
|
|
104
|
+
## Batch 2 acquisition
|
|
105
|
+
|
|
106
|
+
Grass Medium 01, Searsia Lucida, Boulder 01, Coastal Cliff 01 and Dead Tree Trunk
|
|
107
|
+
are acquired unchanged (25 files, 48,818,088 bytes). All five completed fixed64,
|
|
108
|
+
camera reset/refinement and native UHD1 inspection; see
|
|
109
|
+
[batch two evidence](batch-two-qualification.json). The workshop consumes
|
|
110
|
+
published renderer 0.2.51 and shared 1.1.8, including the camera scene-reuse fix.
|
|
111
|
+
Quality changes still reallocate the renderer; dense models can take several seconds.
|
|
112
|
+
Four LOD0 tree sources exceed the unchanged 500,000-triangle limit: Fir Tree 01
|
|
113
|
+
(6,982,937), Island Tree 01 (1,599,403), Jacaranda Tree (3,863,832) and Pine Tree 01
|
|
114
|
+
(17,182,252). These need deliberate LOD preparation before admission; increasing
|
|
115
|
+
the runtime budget or silently replacing their sources is not a qualification.
|