@plasius/gpu-renderer 0.2.44 → 0.2.46

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
@@ -18,6 +18,47 @@ All notable changes to this project will be documented in this file.
18
18
  - (placeholder)
19
19
 
20
20
  - **Fixed**
21
+ - (placeholder)
22
+
23
+ - **Security**
24
+ - (placeholder)
25
+
26
+ ## [0.2.46] - 2026-09-29
27
+
28
+ - Add native showcase surface drawing with filtered shadows, HDR planar water
29
+ reflections, analytic waves, four-sample antialiasing and bounded resource ownership.
30
+ - Add an optional multipass `encodeFrame` hook to the existing renderer lifecycle.
31
+
32
+ - **Added**
33
+ - Internal reflected adaptive budget/count metadata, optional bounded classifier
34
+ and packed-history buffers, and lazy allocation admission with a 128 MiB cap.
35
+ This is infrastructure only; per-pixel dispatch and site controls remain pending.
36
+ - (placeholder)
37
+
38
+ - **Changed**
39
+ - (placeholder)
40
+
41
+ - **Fixed**
42
+ - (placeholder)
43
+
44
+ - **Security**
45
+ - (placeholder)
46
+
47
+ ## [0.2.45] - 2026-09-07
48
+
49
+ - **Added**
50
+ - (placeholder)
51
+
52
+ - **Changed**
53
+ - Refreshed compatible @plasius/* lockfile resolutions to the latest published releases.
54
+ - (placeholder)
55
+
56
+ - **Fixed**
57
+ - Documented verified locked-branch runner admission for trusted push checks,
58
+ including exact-commit verification and removal before branch updates.
59
+ - Restored trusted-push-only CI on explicit self-hosted runners, preserving
60
+ required check names and excluding external fork execution; bounded scheduled
61
+ dependency validation to self-hosted main runs.
21
62
  - Preserved hosted pull-request isolation, bounded validation runtime, and
22
63
  disabled package-manager cache finalization on self-hosted main validation.
23
64
  - (placeholder)
@@ -1106,3 +1147,5 @@ All notable changes to this project will be documented in this file.
1106
1147
  [0.2.42]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.42
1107
1148
  [0.2.43]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.43
1108
1149
  [0.2.44]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.44
1150
+ [0.2.45]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.45
1151
+ [0.2.46]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.46
package/README.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @plasius/gpu-renderer
2
2
 
3
+ ## Native animated showcase surfaces
4
+
5
+ `createNativeSceneRenderer({ canvas })` draws interleaved world-space triangles
6
+ with depth testing, four-sample antialiasing, filtered directional shadows and
7
+ animated water with a planar reflection. Call `render({ vertices, camera, time,
8
+ wakes })` from the caller's animation loop and `destroy()` on teardown. Each vertex
9
+ has twelve floats: position XYZ, normal XYZ, linear colour RGB, roughness,
10
+ metalness, and procedural detail kind (0 plain, 1 wood, 2 mineral/cloth, 3 terrain).
11
+ `camera` supplies `eye`, `target` and optional vertical `fov`. At most four wakes
12
+ contain `[x, z, headingRadians]`; water can be disabled with `water: false`.
13
+
14
+ The input limit defaults to 300,000 vertices. Colour/depth targets are reused and
15
+ render dimensions are capped at 3840 per axis and a 1080p pixel budget. Snapshots identify `webgpu-raster`
16
+ and count submitted frames; they do not claim ray tracing, GPU completion or
17
+ photorealism. Native initialization failures reject; device loss changes
18
+ `available` and calls `onUnavailable`. The existing wavefront APIs are unchanged.
19
+
20
+ Enable only through the consumer's remote `gpu-demo.scene-fidelity.enabled`
21
+ decision and existing access capability. See [design](docs/design/native-showcase-surfaces.md)
22
+ and [ADR-0030](docs/adrs/adr-0030-native-showcase-surfaces.md) for rollout and limits.
23
+
3
24
  [![npm version](https://img.shields.io/npm/v/@plasius/gpu-renderer.svg)](https://www.npmjs.com/package/@plasius/gpu-renderer)
4
25
  [![Build Status](https://img.shields.io/github/actions/workflow/status/Plasius-LTD/gpu-renderer/ci.yml?branch=main&label=build&style=flat)](https://github.com/Plasius-LTD/gpu-renderer/actions/workflows/ci.yml)
5
26
  [![coverage](https://img.shields.io/codecov/c/github/Plasius-LTD/gpu-renderer)](https://codecov.io/gh/Plasius-LTD/gpu-renderer)
@@ -58,6 +79,21 @@ diagnostic capture or network/storage operation, and never registers
58
79
  `/player-system`. Disabling the flag preserves ordinary structured-only bug
59
80
  reporting.
60
81
 
82
+ ## Adaptive per-pixel implementation status
83
+
84
+ Per-pixel adaptive rendering is not yet exposed by the public renderer API.
85
+ The internal [metadata foundation](docs/design/adaptive-metadata.md) now provides
86
+ reflected requested/completed count storage and lazy, bounded allocation.
87
+ `@plasius/gpu-shader` validates the final initialization WGSL in development;
88
+ the reflector does not enter browser bundles. The normal `npm test` suite checks
89
+ generated byte constants, count packing, allocation admission and cleanup.
90
+
91
+ The fixed renderer and its whole-frame budget adjustment are unchanged. Actual
92
+ completed-count normalization, compact primary scheduling, foveation and shared
93
+ integration must land before a site comparison can claim per-pixel adaptation.
94
+ No image-quality, performance or net-memory-saving claim follows from the
95
+ metadata-only WebGPU execution fixture. See [ADR 0029](docs/adrs/adr-0029-reflected-adaptive-metadata-admission.md).
96
+
61
97
  ## Install
62
98
 
63
99
  ```sh
@@ -691,9 +727,23 @@ npm run pack:check
691
727
  ## Release integrity
692
728
 
693
729
  CI keeps the administrative contributor registry outside Git and npm package
694
- artifacts using exact, case-normalised path checks. External fork heads are
695
- rejected; same-repository pull requests validate on GitHub-hosted runners and
696
- main pushes validate on approved self-hosted runners. Release preparation and
730
+ artifacts using exact, case-normalised path checks. CI runs only for pushes to
731
+ repository-owned branches on explicit `[self-hosted, Linux, X64]` runners.
732
+ External fork pull requests trigger no CI execution; a maintainer must review
733
+ and move a contribution to a repository-owned branch to produce required checks.
734
+ Before branch CI starts, an authorised maintainer reviews the exact commit and
735
+ locks its repository branch as read-only, enforcing the lock for administrators
736
+ and disabling force pushes, deletion, and fork syncing. After reading back the
737
+ lock and commit SHA, admit only that branch's fully qualified workflow ref for
738
+ `gpu-renderer/.github/workflows/ci.yml` in `Public CI - Quarantined`. Top-level
739
+ push jobs identify their workflow by branch ref; SHA-only admission did not
740
+ schedule the reviewed job. Remove the temporary workflow entry and verify its
741
+ removal before unlocking or updating the branch, and after delivery. Preserve all
742
+ other group restrictions. Never admit mutable branch or PR refs. See
743
+ [ADR-0028](docs/adrs/adr-0028-locked-branch-runner-admission.md) for the procedure.
744
+ The trusted admission, build-test, and artifact-integrity checks keep their
745
+ existing names for branch protection. Scheduled dependency validation also uses
746
+ bounded self-hosted capacity and accepts only `main`. Release preparation and
697
747
  publication use a two-run exact-main protocol on GitHub-hosted Node.js 24.18.0
698
748
  LTS. A read-only job seals the package tarball and SBOM before a dependency-free
699
749
  production job publishes that exact artifact through npm OIDC with provenance;