@plasius/gpu-demo-viewer 0.1.6 → 0.1.7
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 +19 -0
- package/README.md +14 -2
- package/docs/amber-fixed-qualification.json +54 -0
- package/docs/catalogue-production-rollout.md +80 -0
- package/model-library/catalogue.json +13 -39
- package/model-library/index.html +1 -1
- 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 +3 -3
- package/viewer-manifest.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,24 @@ 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.7] - 2026-10-18
|
|
22
|
+
|
|
23
|
+
- Exclude Gem at user request and record the original Amber fixed-transport qualification; the production target is 74 models.
|
|
24
|
+
|
|
25
|
+
- Track all 75 model candidates, their first-twelve/seven-batch membership and explicit acquisition, held and production states before the later voxel pass.
|
|
26
|
+
|
|
9
27
|
- **Added**
|
|
10
28
|
- (placeholder)
|
|
11
29
|
|
|
@@ -187,3 +205,4 @@ The format is based on Keep a Changelog and this project adheres to SemVer.
|
|
|
187
205
|
[0.1.4]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.4
|
|
188
206
|
[0.1.5]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.5
|
|
189
207
|
[0.1.6]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.6
|
|
208
|
+
[0.1.7]: https://github.com/Plasius-LTD/gpu-demo-viewer/releases/tag/v0.1.7
|
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
|
|
|
@@ -166,3 +166,15 @@ During upstream progressive-renderer development, also set `PLASIUS_RENDERER_SOU
|
|
|
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
168
|
The released model review uses fixed progressive sampling with native UHD sizes and requires renderer0.2.49/shared1.1.7 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.
|
|
@@ -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,80 @@
|
|
|
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. Eleven 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.
|
|
@@ -625,41 +625,6 @@
|
|
|
625
625
|
]
|
|
626
626
|
}
|
|
627
627
|
},
|
|
628
|
-
{
|
|
629
|
-
"key": "sf-gem",
|
|
630
|
-
"category": "Fantasy, sculpture and gems",
|
|
631
|
-
"renderer_target": "Faceted normals, coloured transmission and refraction",
|
|
632
|
-
"preparation": "Simple geometry for a new gem material; no physically correct gem shader is promised by the source.",
|
|
633
|
-
"priority": "First 12",
|
|
634
|
-
"checked": "2026-10-11",
|
|
635
|
-
"import_status": "Not imported or visually qualified in this research",
|
|
636
|
-
"name": "Gem",
|
|
637
|
-
"provider": "Sketchfab",
|
|
638
|
-
"source_url": "https://sketchfab.com/3d-models/gem-ce73ada1698342d2bde0cb7b632a5b94",
|
|
639
|
-
"authors": "TomaszObloj",
|
|
640
|
-
"licence": "CC-BY-4.0",
|
|
641
|
-
"licence_url": "http://creativecommons.org/licenses/by/4.0/",
|
|
642
|
-
"licence_status": "Source licence verified",
|
|
643
|
-
"formats": "GLB (original filename declared by author)",
|
|
644
|
-
"geometry_count": 86,
|
|
645
|
-
"geometry_unit": "Triangles reported by Sketchfab",
|
|
646
|
-
"package_mib": null,
|
|
647
|
-
"package_basis": "Download size not verified",
|
|
648
|
-
"format_evidence_url": "https://sketchfab.com/3d-models/gem-ce73ada1698342d2bde0cb7b632a5b94",
|
|
649
|
-
"download_entry_url": "https://sketchfab.com/3d-models/gem-ce73ada1698342d2bde0cb7b632a5b94",
|
|
650
|
-
"extensions": "Not inspected",
|
|
651
|
-
"source_metadata_url": "https://api.sketchfab.com/v3/models/ce73ada1698342d2bde0cb7b632a5b94",
|
|
652
|
-
"lods_advertised": false,
|
|
653
|
-
"authoring_style": "Author model; visual qualification pending",
|
|
654
|
-
"cost": "Free",
|
|
655
|
-
"attribution_required": true,
|
|
656
|
-
"material_count": 1,
|
|
657
|
-
"animation_count": 0,
|
|
658
|
-
"number": 56,
|
|
659
|
-
"files": [],
|
|
660
|
-
"status": "deferred-by-user",
|
|
661
|
-
"entry": null
|
|
662
|
-
},
|
|
663
628
|
{
|
|
664
629
|
"key": "antique_ceramic_vase_01",
|
|
665
630
|
"category": "Glass, ceramics and lighting",
|
|
@@ -749,7 +714,7 @@
|
|
|
749
714
|
"name": "Mosquito In Amber",
|
|
750
715
|
"provider": "Khronos sample assets",
|
|
751
716
|
"source_url": "https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/MosquitoInAmber",
|
|
752
|
-
"authors": "Loic Norgeot (Model);
|
|
717
|
+
"authors": "Loic Norgeot (Model); \u00a9 2018 Sketchfab; Sketchfab (Real-time refraction); \u00a9 2019 Sketchfab",
|
|
753
718
|
"licence": "CC-BY-4.0",
|
|
754
719
|
"licence_url": "https://github.com/KhronosGroup/glTF-Sample-Assets/blob/main/Models/MosquitoInAmber/README.md",
|
|
755
720
|
"licence_status": "Source licence verified",
|
|
@@ -869,8 +834,17 @@
|
|
|
869
834
|
"OPAQUE"
|
|
870
835
|
]
|
|
871
836
|
},
|
|
872
|
-
"review_status": "
|
|
873
|
-
"observed_issue": "
|
|
837
|
+
"review_status": "fixed-qualified",
|
|
838
|
+
"observed_issue": "Fixed-wavefront correction qualified with original materials: the enclosed insect is visible and the previous dark bands are absent. Experimental adaptive transport is not qualified by this check.",
|
|
839
|
+
"qualification": {
|
|
840
|
+
"renderer": "0.2.50",
|
|
841
|
+
"sourceCommit": "ad52d1124455807cc1355525ab9ec0c2a9b9637b",
|
|
842
|
+
"date": "2026-10-18",
|
|
843
|
+
"sampling": "fixed",
|
|
844
|
+
"matchedSamples": 256,
|
|
845
|
+
"bounces": 6,
|
|
846
|
+
"nativeUhdSamples": 1
|
|
847
|
+
}
|
|
874
848
|
},
|
|
875
849
|
{
|
|
876
850
|
"key": "Fox",
|
|
@@ -883,7 +857,7 @@
|
|
|
883
857
|
"name": "Fox",
|
|
884
858
|
"provider": "Khronos sample assets",
|
|
885
859
|
"source_url": "https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/Fox",
|
|
886
|
-
"authors": "PixelMannen (Model);
|
|
860
|
+
"authors": "PixelMannen (Model); \u00a9 2014 Public; tomkranis (Rigging & Animation); \u00a9 2014 tomkranis; @AsoboStudio and @scurest (Conversion to glTF); \u00a9 2017 @AsoboStudio and @scurest",
|
|
887
861
|
"licence": "CC0-1.0 + CC-BY-4.0",
|
|
888
862
|
"licence_url": "https://github.com/KhronosGroup/glTF-Sample-Assets/blob/main/Models/Fox/README.md",
|
|
889
863
|
"licence_status": "Source licence verified",
|
package/model-library/index.html
CHANGED
|
@@ -30,6 +30,6 @@
|
|
|
30
30
|
</fieldset>
|
|
31
31
|
<div class="refinement"><label id="refinement" for="sample-progress">Waiting for a model…</label><progress id="sample-progress" max="64" value="0"></progress></div>
|
|
32
32
|
<div class="canvas-wrap"><canvas id="canvas" width="800" height="600" tabindex="0" aria-label="Interactive Plasius model view" aria-describedby="help"></canvas><p id="hint" hidden>Drag to orbit · Shift-drag to move · Scroll to approach<br>Touch: drag or pinch · Keyboard: arrows, + / −, Home</p></div><p id="status" role="status" aria-live="polite">Preparing the review…</p></section></div>
|
|
33
|
-
<p class="footnote">Gem is
|
|
33
|
+
<p class="footnote">Eleven retained source models. Gem is excluded from this rollout; no substitute is shown.</p></main>
|
|
34
34
|
<script type="module">import { mountLibrary } from './main.js'; mountLibrary().catch(error => { document.querySelector('#status').textContent = `Unable to open review: ${error.message}`; });</script>
|
|
35
35
|
</body></html>
|