@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 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; only Gem remains deferred. Source links, creators and licences are available beside each model.
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 currently exposes a visible transmission/volume rendering defect. See `docs/model-library-review.md` for the initial findings; none of these fixtures is implicitly approved for the production showcase.
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); © 2018 Sketchfab; Sketchfab (Real-time refraction); © 2019 Sketchfab",
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": "needs-fix",
873
- "observed_issue": "Confirmed visual defect: amber renders too dark with horizontal bands. Transmission, volume scaling and the render pipeline need investigation before this is showcase-ready."
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); © 2014 Public; tomkranis (Rigging & Animation); © 2014 tomkranis; @AsoboStudio and @scurest (Conversion to glTF); © 2017 @AsoboStudio and @scurest",
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",
@@ -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 deferred pending its Sketchfab download. No replacement models are shown.</p></main>
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>